I was trying to enable SSL in my C# client program and found the following code in this answer:
System.Net.ServicePointManager.ServerCertificateValidationCallback += (se, cert, chain, sslerror) => { return true; };
I added the code to my program and it solved the problem, but I completely don't get how exactly it works.
The left part System.Net.ServicePointManager.ServerCertificateValidationCallback
is some callback and +=
modifies that callback. But what does the remaining construct mean? I spent 20 minutes searching to at least find how it is properly called and where I can find more info on how to read that, but all in vain. I suppose it is somehow related to LINQ and searched for "LINQ arrow", but didn't find anything reasonable.
How is that (blah,blah,blah)=>{return true;}
construct called and where can I find more info on such constructs?
care of: used in an address on a letter or parcel that you are sending to someone at another person's house. Peter Lawrence, c/- Joe Maloney...
Summary of Key Points. "Very Happy" is the most common definition for C: on Snapchat, WhatsApp, Facebook, Twitter, Instagram, and TikTok.
They are string format specifiers. Basically, %d is for integers, %f for floats, %c for chars and %s for strings.
That is a lambda expression. It is a very special anonymous delegate. Basically you are defining a method and not giving a name. Its parameters are to the left of the =>
and the method body is to the right of the =>
. In your particular case,
(se, cert, chain, sslerror) => { return true; };
is an anonymous method defined by a lambda expression. This particular method has four parameters
object se X509Certificate cert X509Chain chain SslPolicyErrors sslerror
and the method body is
return true;
It's as if you had said
class ServerCertificateValidation { public bool OnRemoteCertificateValidation( object se, X509Certificate cert, X509Chain chain, SslPolicyErrors sslerror ) { return true; } }
and then
var validation = new ServerCertificateValidation(); System.Net.ServicePointManager.ServerCertificateValidationCallback += validation.OnRemoteCertificateValidation;
How is that
(blah,blah,blah)=>{return true;}
construct called and where can I find more info on such constructs?
It's called the same way that any other method is called. For example, you can do this:
Func<int, int, int> adder = (m, n) => m + n;
Here I am defining a method that eats a pair of int
and returns an int
. That int
is obtained by adding the values of the input parameters. It can be invoked like any other method.
int four = adder(2, 2);
Here's an article on MSDN on lambda expressions and an article on the lambda operator. If you're really interested, the name comes from lambda calculus.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With