无法将 lambda 表达式 转换为类型“System.Delegate”,因为它不是委托类型。
本帖最后由 lyh1234 于 2014-01-10 20:54:25 编辑
ServicePointManager.ServerCertificateValidationCallback = (RemoteCertificateValidationCallback)Delegate.Combine(ServicePointManager.ServerCertificateValidationCallback, (object se, X509Certificate cert, X509Chain chain, SslPolicyErrors sslerror) => true);
ServicePointManager.ServerCertificateValidationCallback = (RemoteCertificateValidationCallback)Delegate.Combine(ServicePointManager.ServerCertificateValidationCallback, (object se, X509Certificate cert, X509Chain chain, SslPolicyErrors sslerror) => true);
无法将 lambda 表达式 转换为类型“System.Delegate”,因为它不是委托类型。
哪里错了,这是什么错误?哪位帮忙分析分析?
------解决方案--------------------lamda是高级的语法糖,往往不能用传统低级语法习惯去考虑。这有可能是lamda表达式内部的某个程序块编译不过去,造成使用lamda的delegate编译不匹配。此时可能需要先解决后边的一两个问题。
但愿c#的编译器能调整其设计,把这类异常信息的先后次序调整一下。。
------解决方案--------------------可以试试(MethodInvoker)lambda
------解决方案--------------------
以前winform中用的……不知道其他类型的怎么转……不一定对哈
------解决方案--------------------用不着Delegate.Combine
你可以用+=