0
我無法弄清楚這個代碼是怎麼處理的。 「命令」= Park
,並且Park方法存在於界面中。然而,「方法」只是等於空,所以當我點擊調用時它會拋出一個異常。調試器開始了,所以我能夠確保一切都看起來不錯。爲什麼方法不能設置?反射並不反映在C接口中的方法#
定義範圍對象。這是一個COM對象。我擴大了範圍對象的動態視圖,它顯示的是屬性或其他東西(藍色3D盒子,不是手和紙),沒有方法。這是問題嗎?但是爲什麼呢,因爲我指的是ITelescope,在我嘗試調用未設置的方法之前,不要對範圍做任何事情。
我從this question獲得激活碼。
ITelescope scope = (ITelescope)Activator.CreateInstance(Type.GetTypeFromProgID(scopeProgID));
var method = typeof(ITelescope).GetMethod(command);
method.Invoke(scope, new object[0]{ });
如果在「ITelescope」界面中定義了名爲'「Park」'的方法,那麼您的代碼應該可以找到它。請注意,名稱區分大小寫,並確保名稱周圍沒有前導或尾隨空格。 – dasblinkenlight