public class MyClass{ public int">

c#只读属性怎么设置

来源:这里教程网 时间:2026-02-21 16:49:08 作者:

C# 中只读属性的设置

只读属性允许类获取值,但无法对其进行修改。它们在以下场景中很有用:

封装敏感数据:保护对关键数据的意外更改。 提供状态表示:公开内部状态信息,而不允许外部修改。 隐藏计算结果:公开基于其他属性计算的值,而无需公开计算本身。

语法

只读属性使用

get;
访问器声明,如下所示:

<code class="csharp">public class MyClass
{
    public int Id { get; private set; }
}</code>

使用

只读属性可以通过类实例的点运算符 (.) 访问其值:
<code class="csharp">MyClass obj = new MyClass();
int id = obj.Id;</code>
无法通过赋值操作符 (=) 修改只读属性的值:
<code class="csharp">// 会导致编译时错误
obj.Id = 10;</code>

私有设置器

可以使用私有

set
访问器提供只读属性的初始值或通过构造函数进行初始化:

<code class="csharp">public class MyClass
{
    private int _id;
    public int Id { get; private set; }
    public MyClass(int id)
    {
        _id = id; // 使用私有 set 访问器设置初始值
    }
}</code>

注意事项

只读属性可以通过反射进行修改,但这不是推荐的做法。 使用只读属性可以提高代码的安全性、可维护性和可读性。 应谨慎使用只读属性,以确保数据的完整性和一致性。

相关推荐