來自反射新手的問題。我有一個Windows窗體的方法:爲什麼我不能通過字符串調用這個方法?
private void handleOrderCode()
{
//...do stuff
}
我正努力通過以下方式來調用:
Type t = this.GetType();
MethodInfo mi = t.GetMethod("handleOrderCode");
if (mi != null) mi.Invoke(this, null);
我已經證實,「這個」不爲空。字符串「handleOrderCode」已被硬編碼的空間在工作時將被替換爲字符串變量。但是,目前「mi」在最後一行的if語句中評估時總是爲空。
那麼我做錯了什麼?
「this」永遠不會爲空:) – 2011-04-18 11:21:59
@NimsDotNet:除非您在IL中非虛擬地調用實例方法。它可以做:) – 2011-04-18 11:22:51
是啊,我之前的一個谷歌搜索之前詢問強調,有些情況下,奇怪的是,它可以,所以我想我會仔細檢查。皮帶和大括號等等。 – 2011-04-18 11:37:41