2015-05-21 52 views
1

我面临着“鸡还是蛋”的困境。 最后,在与CIL苦苦挣扎了数小时之后,我创建了一个使用System.Reflection.Emit & Activator.CreateInstance()方法生成的类的实例。但是,因为类是动态的,所以Visual Studio不知道该类,所以我不能真正使用它进​​行编码。如何使其可用并可供其他代码访问?如何正确发射和使用类?

澄清: 我创建了一个动态类,它表示UI ListBox的内容。用户可以进去,并更改ListBox的内容,生成新班级。我需要让我的动态类可以在应用程序的其余部分使用,但并不真正了解这种新类型/类。

+0

你可以退后一步并解释你想解决什么问题吗? – Blorgbeard

+0

模糊的问题会得到模糊的答案。给我们一些真实的细节,我们可以给出一些真正的答案。 (如果你不想显示你的代码,也许你创建对象的UI - 这可能会让你清楚你在做什么。) – Hogan

+0

你打算如何使用这个类?你可以考虑实现一个接口。 – IllidanS4

回答

3

你不能使它静态可用。你需要使用某种动态访问。或者,让类实现一个接口并将该类的实例转换为相应的接口类型。

一个非常简单的解决方案是使用dynamic如果成员名称是静态的已知的。