C#对象的后期绑定方法
2023-09-27 14:20:16 时间
COM技术编程时,利用 CreateObject 函数可以做组件后期绑定,根据 COM 组件的类名字符串,创建类的实例,然后通过约定的接口访问实例。在 C# 编程环境中,也有类似的方法。
首先我创建一个类库 TestInterface.dll 定义了一个接口 IMyInterface,这个接口有一个方法 ShowForm()。
namespace TestInterface
{
public interface IMyInterface
{
void ShowForm();
}
}
然后,我创建一个实例类库 TestImpInterface.dll,定义了一个类 Class1,实现了上面这个接口:
namespace TestImpInterface
{
public class Class1: IMyInterface
{
public void ShowForm()
{
(new Form1()).Show();
}
}
}
最后,我创建一个 WinForm 应用 WindowsFormsApplication1.exe,引用了接口定义类库 TestInterface.dll,利用实例类库的文件路径名称和类名字符串,创建了这个实例,并利用其公开的接口调用了其中的功能。
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Assembly asm = Assembly.LoadFrom("C:\\Users\\Administrator\\Documents\\Visual Studio 2013\\TestImpInterface\\TestImpInterface\\bin\\Debug\\TestImpInterface.dll");
IMyInterface t = (IMyInterface)asm.CreateInstance("TestImpInterface.Class1");
t.ShowForm();
}
}
}
相关文章
- 编写高质量c#代码的20个建议
- What is the yield keyword used for in C#?
- c#封装DBHelper类 c# 图片加水印 (摘)C#生成随机数的三种方法 使用LINQ、Lambda 表达式 、委托快速比较两个集合,找出需要新增、修改、删除的对象 c# 制作正方形图片 JavaScript 事件循环及异步原理(完全指北)
- C#构造方法(函数) C#方法重载 C#字段和属性 MUI实现上拉加载和下拉刷新 SVN常用功能介绍(二) SVN常用功能介绍(一) ASP.NET常用内置对象之——Server sql server——子查询 C#接口 字符串的本质 AJAX原生JavaScript写法
- SQL Server游标 C# DataTable.Select() 筛选数据 什么是SQL游标? SQL Server数据类型转换方法 LinQ是什么? SQL Server 分页方法汇总
- C#获取当前路径的七种方法
- 【C#】抽象方法、接口、虚方法
- c#中WMI 中的日期和时间转为本地时间
- C# 键盘KeyCode与keyValue
- C#,入门教程(31)——预处理指令的基础知识与使用方法
- C# 中对象与JSON字符串相互转换的三种方法
- C#复制和深度复制的实现方法
- C# OpencvSharp异常 FileNotFoundException
- C#开发Unity游戏教程之游戏对象的行为逻辑方法
- C#四种深拷贝方法
- C# Lambda表达式Contains方法 like
- 【C#基础1-1】C#简介
- Unity Lua 之 在 Unity 中 Lua访问C# 的new 对象,访问静态属性、方法,访问成员属性、方法
- 《C#零基础入门之百识百例》(十五)循环结构 while语句 -- N阶乘
- C# 之 二进制的简单使用
- C# 之 DataTime常用方法
- C# String.Format的格式限定符与Format方法将多个对象格式化一个字符串原理
- C#多线程问题(从不同步的代码块中调用了对象同步方法。)
- C# Color值转换为unit
- C# 高效过滤DataTable 中重复数据方法
- C#-事件的理解以及自定义事件的方法