我有一個庫的一些方法,並在某些錯誤期間,我希望它調用調用方定義的方法。這個方法必須返回一個布爾值。我的意思是:將方法作爲參數傳遞,以便以後可以調用該方法?
Sock sock = new Sock();
sock.OnSpecificError(theMethodToCall);
然後當錯誤發生,襪子應先檢查,看看是否OnSpecificError已設置。如果有,它應該運行它。如果該方法返回false或者如果OnSepcificError沒有被設置,它應該拋出一個異常。
這似乎是委託人設計的那種事情,但無論出於什麼原因,我似乎都無法理解那些實際正在做的事情,例如,傳遞什麼以及如何傳遞稍後運行它。我目前處理這種方法是愚蠢和繁瑣的,所以任何幫助將不勝感激。
編輯: 讓我澄清一下。 sock.OnSpecificError(方法)用於簡單地傳遞一個方法,它將存儲但不運行。這個想法是後來的,而sock運行其他一些方法,如果彈出錯誤,它應該運行該方法。我想保留稍後使用的方法,然後在需要時運行它。
好吧,我想我得到這個,讓我試一試一定要知道。所以Func <>是一個預定義的委託? 「>」在C#的世界中意味着什麼?我從來沒有能夠得到一個好的答案,因爲谷歌勉強當我嘗試谷歌<> – cost 2012-04-26 21:40:02
其實不,我不是在尋找。看看我對我的回答所做的修改,我試圖澄清。 – cost 2012-04-26 21:48:02
@cost''''是*泛型參數*的地方。 'Func <>'是一組預定義的泛型委託類型。您可以通過提供一個或多個類型參數來指示參數類型和委託的返回類型來擴展它。 – dasblinkenlight 2012-04-26 21:48:23