为什么需要一个带构造函数的只读属性呢?构造函数允许您为该属性设置值

本文关键字:构造函数 许您 设置 属性 只读属性 一个 为什么 | 更新日期: 2023-09-27 18:08:06

一个只读属性是如何使用一个允许你设置值的构造函数的:

public class Customer
{
    private int m_id = -1;
    public Customer(int id)
    {
         m_id = id;
    }
    public int ID
    {
        get
        {
            return m_id;
        }
    }
}

不同于普通的get, set属性,如下所示?

public class Customer
{
    private int m_id = -1;
    public int ID
    {
        get
        {
            return m_id;
        }
        set
        {
            m_id = value;
        }
    }

为什么需要一个带构造函数的只读属性呢?构造函数允许您为该属性设置值

对象构造函数中设置的成员变量可以使用readonly关键字声明。这允许变量充当常量(例如,试图更改它将生成编译时错误),但仍然允许您为每个对象实例设置不同的值。这是一点语法糖,可以帮助防止您的编码人员意外修改不打算修改的值。

read-only property不允许程序内的其他类设置property值。传统的property可以

在这种情况下,class迫使程序员在构造函数中提供int ID。有了public property,程序员可以随时改变ID的值,几乎可以否定这个要求。