c#readonly怎么在属性中使用
时间: 2024-10-18 12:14:45 浏览: 5
在 C# 中,`readonly` 关键字用于声明只读属性,这意味着一旦对象的属性被初始化,就不能再更改其值。当你需要保证某个字段在整个对象生命周期内不会被意外修改时,可以使用 `readonly`。下面是如何在属性中使用 `readonly` 的示例:
```csharp
public class MyClass
{
// 定义一个只读的整型字段
private readonly int myValue;
// 构造函数中设置初始值
public MyClass(int initialValue)
{
myValue = initialValue;
}
// 使用get关键字创建只读属性,不允许赋值
public int MyReadOnlyProperty => myValue; // 只能读取,不能赋值
// 如果试图在构造外更改myValue,编译器会报错
// 这里是错误的尝试:
// public void SomeMethod() // ...
// {
// myValue = 100; // Error: 'MyClass.myValue' is a 'readonly' field and cannot be assigned to.
// }
}
```
在上面的例子中,`MyReadOnlyProperty` 属性的值只能在构造函数中设定,并通过访问器方法 `=>` 返回。如果尝试在对象创建后直接改变 `myValue`,编译器会报错。
阅读全文