Resharper建议只读字段,为什么?

时间:2016-05-12 13:51:47

标签: c# resharper

这是我的班级

Account

resharper建议将_mail用于readonly,但不会这样做,以便在我的" SetEmail"那些属性不会被设置的方法? 如果我在这里误解了某些东西,有人会解释。

1 个答案:

答案 0 :(得分:4)

Readonly意味着您无法重新分配字段本身:

_mail = new MailMessage(); // cannot do that outside constructor

但这并不意味着对象本身的属性无法修改:

_mail.To = new EmailAddress("test"); // perfectly fine with readonly field.

所以Resharper的建议是正确的 - 你只在构造函数中指定你的字段,这样它就可以成为readonly