我想在这里找到一个简单的代码位进行实验:无法获得拉姆达代码示例编译
http://msdn.microsoft.com/en-au/library/ff664617%28v=pandp.50%29.aspx
但我不能得到它来编译,我必须做一些错误的。关于一路下跌的页面第三,它提供了代码示例如下:
“用法exManager.Process(功能()方法名(参数1,参数2)_ ‘异常策略名称’)
但是,如果我输入以下代码:
Dim exManager As ExceptionManager
exManager = EnterpriseLibraryContainer.Current.GetInstance(Of ExceptionManager)()
exManager.Process(Function() TestSub(), "Exception Policy Name")
我得到第三行一个错误,指出:
重载解析失败,因为没有可访问的'Process'可以使用以下参数调用 : 'TResult'的公共可重写函数进程(作为System.Func(作为TResult),作为TResult'):不能 从共享方法或 共享成员初始值设定项中引用类的实例成员,而不显示该类的实例。
'公共可重写的函数过程(的TResult)(作为System.Func(的TResult),policyName作为字符串)作为TResult':数据 类型参数(s)的类型不能从这些 参数。明确指定数据类型可能会纠正此错误。
等
即使我尝试修改拉姆达这样的:
exManager.Process(Function() Dim A As Integer=6, "Exception Policy Name")
,我收到了类似的错误。
任何意见,将不胜感激。
UPDATE:
注意我编译为.NET Framework 4的客户端配置文件
是保持进程管理器代码的功能的共享subrotine? – user1937198 2013-02-24 13:13:18
@ user1937198实际上它是,但我然后把它放在一个非共享函数,它没有区别 – TripleAntigen 2013-02-25 08:16:06