Collection类型的集合,定义只能Get时,可以通过语法糖赋值
1.条件
类型定义:
属性定义:
使用:
2.疑问:ICollection的实现,定义为只能Get,却能通过特殊写法 语法糖 来赋值???
引用:
using System.Net.Mail;
创建对象:
new MailMessage { To = { string }, Subject = string, Body = string, IsBodyHtml = bool };
3.因为
MailMessage.To的类型是MailAddressCollection,其继承了Collection<System.Net.Mail.MailAddress>,实现了Add方法,参数是string,与To = {string}相符
ICollection<T>:定义的Add方法可以通过语法糖来实现赋值(关于C#语法糖),而Collection<T>则是ICollection<T>的泛型实现,在继承Collection<T>之后,只需实现Add方法,并且可以自定义参数,这区别于
ICollection<T>,就能获得语法糖的支持。
另一种方法:扩展ICollection<T>的Add方法也能实现
随遇而安,积极向上

浙公网安备 33010602011771号