C# 实现扩展与主程序之间的通信
前言
之前我一直在写扩展时总是遇到和主程序通信的问题,最近我终于解决了。
实现
主程序
读取所有扩展并将消息传输类传输给扩展
string[] extensionPaths = Directory.GetFiles(ExtensionPath, "*.dll");//获得所有dll
foreach (string extensionPath in extensionPaths)
{
Assembly extensionAssembly = Assembly.LoadFrom(extensionPath);
Type[] extensionCalsses = extensionAssembly.GetExportedTypes();
foreach (Type extensionCalss in extensionCalsses)
{
if(typeof(IExtension).IsAssignableFrom(extensionCalss) == true)
{
object extensionObject = Activator.CreateInstance(extensionCalss);
MethodInfo initializationMethod = extensionCalss.GetMethod("Initialization");
Message message = new Message();
message.Send += Receiv