我试图在C#中利用AttachmentCollection类,当我尝试创建它的新实例时,出现错误消息“错误32类型'System.Net.Mail.AttachmentCollection'没有定义构造函数”。
这是我正在尝试的方法,如果未定义构造函数,如何创建该实例的新实例?

AttachmentCollection attachmentCollection = new AttachmentCollection();

谢谢你的帮助!

最佳答案

某些类型并非旨在实例化。

它们可能是Abstract,这意味着您应该扩展该类并填写其某些功能。

他们可能还需要进行大量工作才能正确创建它们。这些类型通常公开公共(public)静态方法,或者具有可用于实例化它们的工厂。

docs指出“AttachmentCollection类的实例由MailMessage.AlternateViews和MailMessage.Attachments属性返回”。似乎设计师不希望您创建此系列。它的目的是仅与MailMessage类一起使用。

让MailMessage类为您处理其AttachmentCollections。创建MailMessage的实例,然后填写AlternateViews和附件,而不是创建集合,将其填写,然后将其分配给属性。

最后一件事,大多数收藏的公共(public)属性(property)都没有二传手。它被认为是糟糕的设计,它不允许您的类型的用户设置甚至取消您的公共(public)收藏夹属性。

08-06 06:18