0

我只想确认一件事:您是否必须有一个没有参数的构造函数才能让 .NET 程序集像普通 COM 组件一样被调用(使用 Win32::OLE -> new())?如果 dll 没有具有此类构造函数的可组合类,您将无法通过 Win32::OLE -> new() 调用它。

4

1 回答 1

2

是的。你需要一个publicanddefault构造函数。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() {}
}

但是,如果您有一个带有一些参数的构造函数,那么您必须手动提供一个公共默认构造函数。

于 2013-05-24T00:48:23.577 回答