8
鑑於C#4中的新動態支持,是否有可能編寫一個類,以便如果某個方法在實例和該方法不存在,調度傳遞給另一個方法?這可能看起來像這樣:處理未在動態對象上定義的C#方法(又名respond_to/method_missing)
public class Apple : ... {
// ...
private ... MethodMissing(string name, ...) {
if (name == "TurnIntoOrange") {
// do something
}
}
}
dynamic d = new Apple();
d.TurnIntoOrange(); // Not actually defined on Apple; will pass to MethodMissing.
其他語言稱爲「method_missing支持」,在元編程的更一般的標題下。我不確定C#專門調用了哪些內容。但是有可能嗎?
哇,謝謝喬恩! – 2009-07-10 17:50:17