Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 3.0 系统反思_C# 3.0 - Fatal编程技术网

C# 3.0 系统反思

C# 3.0 系统反思,c#-3.0,C# 3.0,我开发了一个名为AAA的应用程序,在这个应用程序中,我引用了一个名为BBB的程序集。在特定条件下,我使用Assembly.LoadFromFile()函数将BBB组件加载到我的应用程序中。现在我需要在运行时访问BBB assembly中AAA的某些对象实例。是否可以完成此任务? 提前感谢。您正在尝试创建对象的新实例吗?如果是这样,这应该是可行的: Assembly ass = Assembly.LoadFrom("BBB.dll"); Object myObject = ass.CreateIn

我开发了一个名为AAA的应用程序,在这个应用程序中,我引用了一个名为BBB的程序集。在特定条件下,我使用Assembly.LoadFromFile()函数将BBB组件加载到我的应用程序中。现在我需要在运行时访问BBB assembly中AAA的某些对象实例。是否可以完成此任务?
提前感谢。

您正在尝试创建对象的新实例吗?如果是这样,这应该是可行的:

Assembly ass = Assembly.LoadFrom("BBB.dll");
Object myObject = ass.CreateInstance("BBB.MyObject");
注意,这假设您的对象有一个默认构造函数-如果您需要将参数传递到构造函数中,您可以这样做(假设构造函数以字符串作为参数):


让AAA在加载对象后将其引用传递给BBB中的某个变量。


要从BBB访问对象ooo,您应该向BBB提供ooo的(可能是间接的)引用。AAA可以使用反射来发现BBB的适当入口点,然后为其提供ooo。

如何从BBB程序集调用函数?您可以将AAA对象传递给它吗?您应该接受以下答案之一,或者至少提供反馈:)
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" }