C#:是不是使用属性而不是公共变量来累赘?

时间:2013-07-29 16:23:39

标签: c# properties private public

初学者提问:以下解决方案有什么不利之处吗?

public string SomeProperty { get; private set; }

,如C# public variable as writeable inside the class but readonly outside the class

因为我确实发现它比以下更好:

string someProperty; 
public string SomeProperty{
    get { 
        return someProperty; 
    } 
}  

但为什么C#不能像

那样
GetOnly string someProperty; 

哪个会和上面一样?这会更容易阅读和写作吗?

2 个答案:

答案 0 :(得分:4)

汽车财产有什么意义?

public Foo FooProperty { get; }

你如何将其价值设定为有意义的东西?

以下代码:

public Foo FooProperty { get; private set; }

清楚地说明你可以在课外阅读它,并且只在课堂内设置它。

答案 1 :(得分:0)

公共只读字段可以工作,但您只能在类构造函数中修改它。

public readonly string SomeField;

public MyClass()
{
    SomeField = "SomeString";
}