C# 加载程序集并在Wpf中调用其函数

C# 加载程序集并在Wpf中调用其函数,c#,wpf,C#,Wpf,在我的应用程序中,我使用一个用户控件,该控件在单独的项目中编译 假设我的应用程序名为ABC.exe,用户控件名为bb.dll,并且bb.dll的开发仅用于ABC.exe 在用户控件bb.dll的事件中,我想调用ABC.exe的一个公共函数 有可能这样做吗 我在Framework 3.5中这样做,使用Assembly.Load加载bb.dll 用于从ABC.exe调用方法 在生成过程中从BB.DLL引用ABC.exe 使用反射查找类型/方法并调用它 在控件初始化期间,将方法/类/接口从ABC.e

在我的应用程序中,我使用一个用户控件,该控件在单独的项目中编译

假设我的应用程序名为ABC.exe,用户控件名为bb.dll,并且bb.dll的开发仅用于ABC.exe

在用户控件bb.dll的事件中,我想调用ABC.exe的一个公共函数

有可能这样做吗


我在Framework 3.5中这样做,使用Assembly.Load加载bb.dll

用于从ABC.exe调用方法

  • 在生成过程中从BB.DLL引用ABC.exe
  • 使用反射查找类型/方法并调用它
  • 在控件初始化期间,将方法/类/接口从ABC.exe中的类传递到BB.dll中的类
      由于您的ABC.exe引用的是BB.dll,因此无法从BB.dll引用ABC.exe,因为它将成为循环引用。必须使用反射加载ABC.exe,然后从BB.dll的eventhandler代码调用该函数

      请参考这个关于动态加载程序集的问题:相同的概念可能适用于您的需要