我开发了一个名为AAA的应用程序,在该应用程序中,我引用了一个名为BBB的程序集。在某些情况下,我使用Assembly.LoadFromFile()函数将BBB程序集加载到我的应用程序中。现在我需要在运行time.Is时访问BBB程序集中的某些AAA对象实例可以完成此任务吗?提前谢谢。
发布于 2010-11-24 13:02:28
您是否正在尝试创建对象的新实例?如果是这样,这应该是可行的:
Assembly ass = Assembly.LoadFrom("BBB.dll");
Object myObject = ass.CreateInstance("BBB.MyObject");
注意:这假设你的对象有一个默认的构造函数-如果你需要将参数传递给构造函数,你可以这样做(假设构造函数接受一个字符串作为它的参数):
Assembly ass = Assembly.LoadFrom("BBB.dll");
Type t= ass.GetType("MyObject");
ConstructorInfo c = t.GetConstructor(new Type[]{typeof(string)});
Object myObject2 = c.Invoke(new object[] { "myParam" }
发布于 2010-11-24 13:02:53
让AAA在BBB加载后将对对象的引用传递给BBB中的某个变量。
要从BBB访问对象ooo,您应该为BBB提供一个对ooo的(可能是间接的)引用。AAA可以使用反射来发现BBB的适当入口点,然后将其提供给ooo。
https://stackoverflow.com/questions/4263585
复制相似问题