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