COM互操作性与企业服务深度解析
1. COM互操作性基础
在.NET开发中,COM互操作性是一项重要的技术,它允许不同代的COM和.NET应用程序进行交互。通过使用 tlbimp
工具,可以创建运行时可调用包装器(RCW),将COM对象隐藏在.NET外观之后,使得.NET应用程序可以像使用.NET类一样使用COM组件。同样, tlbexp
工具可以从.NET组件创建类型库,供COM可调用包装器(CCW)使用,CCW将.NET组件隐藏在COM外观之后。
以下是一个简单的.NET组件示例,展示了如何声明事件并在方法中触发它们:
[ComSourceInterfaces(typeof(IMathEvents))]
public class DotnetComponent : IWelcome, IMath
{
public DotnetComponent()
{
}
public event CalculationCompletedDelegate CalculationCompleted;
public int Add(int val1, int val2)
{
int result = val1 + val2;
if (CalculationCompleted != null)
CalculationCompleted();
return result;
}
public int Sub(int val1, int val2)