我试图在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)收藏夹属性。