reflection

    73熱度

    14回答

    我可以做一個eval("something()");在JavaScript中動態執行代碼。有沒有辦法讓我在C#中做同樣的事情? 我正在嘗試做的是,我有一個整型變量(說i),我有名稱的多個屬性:「Property1」,「Property2」,「Property3」等。 現在,我想要根據i的值對「屬性i」屬性執行一些操作。 這對於JavaScript來說非常簡單。有沒有辦法與C#做到這一點?

    5熱度

    1回答

    我正在研究一些代碼,直接從C#中將其粘貼到當前活動的OpenOffice文檔中。我不能包含任何OpenOffice庫,因爲我們不想打包它們,所以我們使用反射來訪問OpenOffice API。 我的問題涉及到通過反射使用調度程序。我無法弄清楚傳遞給它的正確參數,由於不匹配的類型,給了我一個可愛的「TargetInvocationException」。 object objframe = GetPr

    12熱度

    3回答

    如何獲得編程訪問調用堆棧?

    15熱度

    2回答

    這可能是最好的例子。我有一個屬性的枚舉: public enum MyEnum { [CustomInfo("This is a custom attrib")] None = 0, [CustomInfo("This is another attrib")] ValueA, [CustomInfo("This has an extra fl

    6熱度

    4回答

    我有一個接口叫IStep,可以做一些計算(見「Execution in the Kingdom of Nouns」)。在運行時,我想按類名選擇合適的實現。 // use like this: IStep step = GetStep(sName);

    2熱度

    4回答

    Java類的RFC是可以響應消息傳遞到類的對象或通過類中的某種方法調用的所有方法的集合。 RFC = M + R其中 M =類中方法的數量。 R =從M直接調用的其他方法的總數。 Thinking C是.class,J是我們需要計算RFC的.java文件。 class J{ a(){} b(){} c(){ e1.e(); e1.f(); e1.g();

    30熱度

    4回答

    如果我有Python代碼 class A(): pass class B(): pass class C(A, B): pass ,我有C類,是有辦法來遍歷它的超級入級(A和B)?像僞代碼: >>> magicGetSuperClasses(C) (<type 'A'>, <type 'B'>) 一種解決方案似乎是inspect module和getcl

    6熱度

    4回答

    我正在使用.NET CF 3.5。我想創建的類型沒有默認構造函數,所以我想將一個字符串傳遞給重載的構造函數。我該怎麼做呢? 代碼: Assembly a = Assembly.LoadFrom("my.dll"); Type t = a.GetType("type info here"); // All ok so far, assembly loads and I can get my ty

    1熱度

    3回答

    我的項目中的許多表單都從基礎表單繼承。很容易得到派生形式的Controls集合,但是我沒有找到訪問Components集合的簡單方法,因爲VS將其標記爲私有。 我認爲這可以通過反射來完成,但我不確定如何最好地去做,而不是以前使用反射。 現在,我使用了一種笨重的解決方法,其中我重寫了一個函數Ge​​tComponents並返回了我感興趣的組件的數組。這顯然容易出錯,因爲它很容易忘記實施重寫的功能或在