C#中的AttachmentCollection attachmentCollection

Gab*_*abe 4 c# visual-studio-2008 visual-studio

我正在尝试在C#中使用AttachmentCollection类,当我尝试创建它的新实例时,它给出了一个错误,说"错误32类型'System.Net.Mail.AttachmentCollection'没有定义构造函数"....这是我正在尝试的,如果没有定义构造函数,如何创建一个新的实例?

AttachmentCollection attachmentCollection = new AttachmentCollection();
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助!

小智 6

某些类型不是为实例化而设计的.

它们可能是抽象的,这意味着您需要扩展类并填充其一些功能.

他们可能还需要一些大量工作才能正确创建它们.这些类型经常暴露公共静态方法或具有可用于实例化它们的工厂.

文档声明"AttachmentCollection类的实例由MailMessage.AlternateViews和MailMessage.Attachments属性返回." 好像设计师不希望你创建这个系列; 其目的是仅与MailMessage类一起使用.

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

最后一件事,大多数集合的公共属性都没有setter.它被认为是一种糟糕的设计,允许您的类型的用户能够设置甚至清空您的公共集合属性.