为什么C#中的属性不能只读?
当我尝试只读一个属性时,它表明:
修饰符'readonly'对此项无效
在这里问了Simmilar的问题: 为什么属性不能只读? 但问题是在5年前提出的,然后提供的答案是:因为他们没有想到它.5年后仍然如此吗?
编辑:代码示例:
public class GreetingClass
{
public readonly string HelloText { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
Con*_*ole 20
属性可以只在C#中读取,实现只是不使用readonly关键字:
如果使用C#6(VS 2015),则可以使用以下行,该行允许在构造函数或成员定义中分配属性.
public int Property { get; }
Run Code Online (Sandbox Code Playgroud)
如果您使用较旧的C#/ Visual Studio版本,则可以编写类似这样的内容,并在构造函数或字段定义中指定字段:
private readonly int property;
public int Property { get { return this.property; }}
Run Code Online (Sandbox Code Playgroud)