0

初学者问题:以下解决方案有什么缺点吗?

public string SomeProperty { get; private set; }

C# 公共变量一样,在类内可写,但在类外只读

因为我肯定觉得它比:

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

但是为什么 C# 不能有类似的东西

GetOnly string someProperty; 

哪个会与上述相同?那不是更容易阅读和写作吗?

4

2 回答 2

4

汽车财产的意义是什么?

public Foo FooProperty { get; }

您如何将其价值设置为有意义的东西?

以下代码:

public Foo FooProperty { get; private set; }

明确指出您可以在课堂外阅读并仅在课堂内设置。

于 2013-07-29T16:27:10.263 回答
0

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

public readonly string SomeField;

public MyClass()
{
    SomeField = "SomeString";
}
于 2013-07-29T16:31:45.573 回答