2015-05-21 80 views
1

我面臨着「雞還是蛋」的困境。 最後,在與CIL苦苦掙扎了數小時之後,我創建了一個使用System.Reflection.Emit & Activator.CreateInstance()方法生成的類的實例。但是,因爲類是動態的,所以Visual Studio不知道該類,所以我不能真正使用它進​​行編碼。如何使其可用並可供其他代碼訪問?如何正確發射和使用類?

澄清: 我創建了一個動態類,它表示UI ListBox的內容。用戶可以進去,並更改ListBox的內容,生成新班級。我需要讓我的動態類可以在應用程序的其餘部分使用,但並不真正瞭解這種新類型/類。

+0

你可以退後一步並解釋你想解決什麼問題嗎? – Blorgbeard

+0

模糊的問題會得到模糊的答案。給我們一些真實的細節,我們可以給出一些真正的答案。 (如果你不想顯示你的代碼,也許你創建對象的UI - 這可能會讓你清楚你在做什麼。) – Hogan

+0

你打算如何使用這個類?你可以考慮實現一個接口。 – IllidanS4

回答

3

你不能使它靜態可用。你需要使用某種動態訪問。或者,讓類實現一個接口並將該類的實例轉換爲相應的接口類型。

一個非常簡單的解決方案是使用dynamic如果成員名稱是靜態的已知的。