所以我有一個擴展方法,允許我在執行操作時記錄一些內容。實現是像這樣:有沒有辦法來推廣行動和行動<T>?
public static Action Log(this Action action, string log) {
return (() => {
Console.WriteLine(log);
action();
});
}
但我想允許的動作也是一個Action<T>
。有沒有辦法推廣這個,所以log
得到記錄,但它不會改變行動的簽名?
或者我需要2種方法,一種用於Action
,另一種用於Action<T>
?
呀,斯威夫特可以做那'因爲'Void'本身就是一個數據類型。我想知道C#是否也允許這樣做。 – vrwim