我想尝试在这里找到的一些简单代码:
http://msdn.microsoft.com/en-au/library/ff664617%28v=pandp.50%29.aspx
但是我无法编译它,我一定是做错了什么。在页面的大约三分之一处,它给出了如下代码示例:
'使用 exManager.Process(Function() 方法名(param1, param2), _"异常策略名称")
但是如果我输入以下代码:
Dim exManager As ExceptionManager
exManager = EnterpriseLibraryContainer.Current.GetInstance(Of ExceptionManager)()
exManager.Process(Function() TestSub(), "Exception Policy Name")
我在第三行收到一个错误,上面写着:
重载解决失败,因为无法使用这些参数调用可访问的“进程”:“公共可重写函数进程(TResult)(操作作为 System.Func(TResult),policyName As String)作为 TResult”:无法引用实例成员来自共享方法或共享成员初始化程序中的类,而没有该类的显式实例。
'Public Overridable Function Process(Of TResult)(action As System.Func(Of TResult), policyName As String) As TResult':无法从这些参数推断类型参数的数据类型。明确指定数据类型可能会更正此错误。
等等
即使我尝试像这样修改 lambda:
exManager.Process(Function() Dim A As Integer=6, "Exception Policy Name")
我收到类似的错误。
任何意见将不胜感激。
更新:
注意我正在为 .NET Framework 4 Client Profile 进行编译