跳过模型类的字段

bom*_*sen 0 c# automatic-properties

最近,在阅读了很多关于互联网的教程之后,我注意到有些开发人员会跳过在他们的模型类中编写字段而只是使用属性,如下所示:

public class MyClass
{
    public string MyProperty { get; private set; }
}
Run Code Online (Sandbox Code Playgroud)

除了编写更少的代码之外,这样做的好处究竟是什么?虽然我确实知道setter是私有的,但是当你没有指定私有字段时,是不是存在某种安全问题?换句话说:这里最好的做法是什么?编写没有字段和相关属性的模型类,或者只是在没有字段的情况下使用这些公共属性?

提前致谢,

Bob*_*Bob 5

在c#3.0及更高版本中,编译器会将局部变量放入MSIL中.它使代码更易于阅读和更易于维护(更少的变量可以跟踪等).

不应该有任何安全问题,因为在内部它创造局部范围的成员变量.

有关详细信息,请参阅Microsoft的文档.