3
A
回答
4
Type t = Type.GetType("Class1");
會做到這一點。
從MSDN: 「的時候,公共語言運行時是無法確定可以創建所請求的類型的組件時發生TypeResolve事件,如果該類型在動態組件限定,或類型不是這可以發生在動態程序集中定義,但運行時不知道類型是在哪個程序集中定義的。當使用類型名稱調用Type .. ::。GetType時,會出現後一種情況,該程序名稱不符合程序集名稱。
0
MSDN是在引發此事件上很清楚:當公共語言運行時無法確定,可以創建所請求類型的程序集發生
的TypeResolve事件。如果類型是在動態程序集中定義的,或者類型未在動態程序集中定義,但運行時不知道類型定義在哪個程序集中,則會發生這種情況。當使用a調用Type.GetType時會發生後一種情況鍵入不符合程序集名稱的名稱。
此代碼將觸發事件:
AppDomain.CurrentDomain.TypeResolve += delegate(object sender, ResolveEventArgs e)
{
Console.WriteLine("Trying to resolve '{0}'", e.Name);
return null;
};
Type type = Type.GetType("SomeNamespace.SomeTypeWithoutAssemblyQualifier");
0
的AppDomain.TypeResolve事件將觸發您請求類型,可以默認情況下不解決任何時候。通常情況下,這不會發生,因爲您的依賴關係始終與您的可執行文件(默認情況下)或GAC中的位置相同。
但是,很容易迫使它發生。只要這樣做:
Type badType = Type.GetType("IDontExist");
由於類型不存在,它會調用事件以嘗試「查找」類型。
相關問題
- 1. c#是否可以通過代碼觸發button_click事件?
- 2. 是否可以取消觸發事件?
- 3. 是否可以在Libgdx中編寫C/C++代碼?
- 4. 是否可以觸發另一個按鈕的onclientclick事件?
- 5. 是否有可能以編程方式觸發onbeforeunload事件?
- 6. 是否可以在同一個html文件中編寫2個html代碼?
- 7. 是否有可能在C#編寫visual studio代碼插件?
- 8. 觸摸開始事件是否會觸發點擊事件?
- 9. 是否可以在iOS上編譯爲Arduino編寫的代碼?
- 10. 如何檢查一個事件是否已經觸發C#
- 11. 是否可以使用本機C++代碼在iOS設備上編寫文件
- 12. 以這種方式編寫Android兼容代碼是否安全?
- 13. 是否可以用C編寫一個自毀程序?
- 14. 爲什麼這個jquery不會觸發第一個droppable事件?
- 15. 這個C++代碼是怎麼回事?
- 16. 爲什麼不在這個Node.js代碼中觸發'finish'事件?
- 17. 是否可以在Angularjs中的div滾動中觸發一個事件?
- 18. 是否有一個jQuery事件可以在*錨點擊完成後觸發*?
- 19. 是否可以編寫一個servlet過濾器來檢查HTTP響應代碼?
- 20. 區分用戶觸發事件和代碼觸發事件
- 21. 是否可以編譯c/C++混合源代碼?
- 22. gcc是否可以不編譯代碼?
- 23. datepicker不會觸發一個onchange事件
- 24. 你可以觸發一個jQuery事件從一個PHP回聲
- 25. Codemirror-linting - 是否有事件可以明確觸發linting?
- 26. 當SoftKeyboard打開時是否可以觸發事件
- 27. 是否可以通過事件觸發HTML5視頻播放?
- 28. 單擊按鈕後是否可以觸發onLoad事件
- 29. 是否可以監聽其他課程觸發的事件?
- 30. 是否可以指定要觸發的事件?
愚蠢的我,在我的測試中,我使用了完全限定的類型名稱。真是愚蠢。 – mark 2009-09-03 19:54:45
呵呵。我總是犯這類錯誤。 – dkackman 2009-09-03 23:21:21