我想在內聯if語句中寫入lambda表達式。但是內聯if語句必須具有強類型結果。如何編寫強類型的lambda表達式?
MyType obj = someObj.IsOk ? null :() => {
MyType o = new MyType(intVal);
o.PropertyName = false;
return o;
};
當然這不起作用,因爲lambda表達式不是強類型。我想到了使用Func<intVal, MyType>
委託,使其成爲強類型。
但是,如何在內聯中使用此Func<>
?是否有可能必須在外界定義我自己的函數,並在內聯if語句中使用它?
好了,我不知道你是什麼將使用您保存的lambda(在本地使用它或將它傳遞給其他對象/方法)。如果你只在本地使用lambda,我想你應該可以用var關鍵字完成你的工作。 – 2009-07-02 21:16:49
我改變了我的示例代碼。事情是我必須使用帶參數的構造函數,並設置其他屬性。所以對象初始值設定不考慮。 – 2009-07-02 21:59:41