0
我有這樣寫一個非常通用的方法
void Foo(IMyInterface obj)
{
}
的方法現在,有時這種方法我想這樣做
obj.A++;
,有時我想這樣做
obj.B--;
現在的問題是,我怎麼能通過這個方法來允許這種東西以通用的方式,以便不管我通過,它會被執行。所以,我正在尋找一個表達式或Func或類似的東西。
我有這樣寫一個非常通用的方法
void Foo(IMyInterface obj)
{
}
的方法現在,有時這種方法我想這樣做
obj.A++;
,有時我想這樣做
obj.B--;
現在的問題是,我怎麼能通過這個方法來允許這種東西以通用的方式,以便不管我通過,它會被執行。所以,我正在尋找一個表達式或Func或類似的東西。
你正在尋找一個Action<T>
:
static void Foo<T>(this T obj, Action<T> action) where T : IMyInterface
{
action(obj);
}
'action'應該是一個'行動'。 –
Lee
@lee哎呦,修正了。 –
事實上,它可能應該是通用的,因爲調用者需要參數來匹配真實類型,所以他們可以調用他們的額外方法來調用'T:IMyInterface'。否則,它可能是一個非通用的「操作」。 – Lee