如何使用反射在 Project2 的方法 2 中从 Project1 调用方法 1?[关闭]

How can I invoke method 1 from Project1 within method 2 from Project2 using reflection? [closed]

提问人:BEN JBARA Mabrouk 提问时间:11/17/2023 最后编辑:BEN JBARA Mabrouk 更新时间:11/17/2023 访问量:26

问:


编辑问题以包括所需的行为、特定问题或错误以及重现问题所需的最短代码。这将帮助其他人回答这个问题。

5天前关闭。

我正在使用 c# WPF 应用程序 .NET Framework 4.8。 我的解决方案中有两个项目:Project1 和 Project2。 如何使用反射或其他解决方案从方法 2(Project2) 中的 Class1(Project2) 调用方法 1? 注意:项目 2 在项目 1 中引用。

我想在 project2 的方法 2 中调用项目 1 中的方法 1,并且在项目 1 中引用了项目 2。

更新:更新是我已经修复了它

修复后,我已经完成了最终的更新代码。

    string Project1_Path = System.Environment.GetEnvironmentVariable("yourProjectDLLPath\\Project1.dll";

                Assembly assembly = Assembly.LoadFrom(Project1_Path);

                // Get the class1 type from dll
                Type connectType = assembly.GetType("Project1.class1");

                // Create an instance of the class1
                object connectInstance = Activator.CreateInstance(connectType);

                // Get the method1 method
                BindingFlags bindingFlags = BindingFlags.Public | BindingFlags.Instance;
                MethodInfo method1 = connectType.GetMethod("method1", bindingFlags);

                if (method1 != null)
                {
                    int NumericBox_Id = 1;

                    // Call the method1 method using reflection
                    object[] parameters = new object[] { NumericBox_Id, Variable };
                    method1.Invoke(connectInstance, parameters);
                }
C# .net wpf xaml

评论

0赞 Klaus Gütter 11/17/2023
您是否考虑过在 Project2 中定义一个接口并由 Class1 实现它?另一种选择是使用事件。
0赞 BEN JBARA Mabrouk 11/17/2023
我该怎么做?

答: 暂无答案