如何去动态加载一些主程序框架并不知道(没有引用)的组件呢?以下给出几个方法并作相关讨论。


一、使用Assembly.Load。

范例代码:下载


我们先准备一些接口(interface),主程序会不断的在他认为需要的时候调用这些接口。并有可能某些接口的调用还依赖于其他接口。但主程序并不关心这些接口谁来实现。好了,我们先创建一个类库(我命名他为DomainBase)来保存这些接口。以下是我们定义的第一个接口

public interface IDo
{
    
string SayHello();
}

创建我们的主程序,我创建用了一个windows的程序DomainTest,引用上面的类库项目DomainBase

public partial class Form1 : Form
{
    
public Form1()
    {
        InitializeComponent();
    }
    
private void addLog(string msg)
    {
        
this.textBox1.AppendText(string.Format("{0}\n", msg));
    }
    
private void btnRef_Click(object sender, EventArgs e)
    {
        DomainBase.IDo myDo 
= buildDoActor();
        
if (myDo != null)
        {
            
string words = myDo.SayHello();
            
this.addLog(words);
        }
    }

    
private DomainBase.IDo buildDoActor()
    {
        
return null;
    }
}

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-09-02
  • 2021-07-20
  • 2021-10-29
  • 2022-01-29
  • 2022-03-04
  • 2021-09-02
猜你喜欢
  • 2021-10-28
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-09-01
相关资源
相似解决方案