我想在這裏找到一個簡單的代碼位進行實驗:無法獲得拉姆達代碼示例編譯
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