WIN32 :: OLE调用.Net dll

时间:2013-05-24 00:42:52

标签: c# perl com

我只想确认一件事:你必须有一个没有ARM程序集的参数的构造函数,因为它被调用为常规COM组件(使用Win32 :: OLE - > new())?如果一个DLL没有这种构造函数的可见类,你将无法通过Win32 :: OLE调用它 - >新()。

1 个答案:

答案 0 :(得分:2)

是。您需要publicdefault构造函数。 http://msdn.microsoft.com/en-AU/library/ms182203(v=vs.80).aspx

如果您的类没有任何公共构造函数,那么您不需要创建一个,因为会自动为您添加公共默认构造函数:http://msdn.microsoft.com/en-us/library/aa645608(v=vs.71).aspx,即:

这:

class Message
{
   object sender;
   string text;
}

与:

相同
class Message
{
   object sender;
   string text;
   public Message(): base() {}
}

但是,如果您的构造函数包含一些参数,则必须手动提供公共默认构造函数。