📅  最后修改于: 2023-12-03 14:39:43.868000             🧑  作者: Mango
在C#中,我们可以使用private set
关键字来定义只读属性。私有设置使属性具有只读特性,但只允许在类的内部设置属性的值,外部代码无法更改属性的值。
以下是使用private set
定义只读属性的示例:
public class MyClass {
public string Name { get; private set; }
public int Age { get; private set; }
public MyClass(string name, int age) {
Name = name;
Age = age;
}
}
在此示例中,Name
和Age
属性具有私有的set访问器,因此只能在MyClass
类的内部更改属性的值。在MyClass
类的外部,这些属性是只读的:
var myObj = new MyClass("John", 30);
// myObj.Name = "David"; // 错误:属性“MyClass.Name”只读。
// myObj.Age = 31; // 错误:属性“MyClass.Age”只读。
我们还可以使用只读自动属性来定义只读属性。private set
可以使只读自动属性的属性值在类的外部不可更改:
public class MyClass {
public string Name { get; }
public int Age { get; }
public MyClass(string name, int age) {
Name = name;
Age = age;
}
}
在此示例中,属性Name
和Age
是只读自动属性。它们被初始化后无法更改。
private set
关键字可用于定义C#中的只读属性,属性的值只能在类的内部更改。如果您想要有只读属性,但不希望公开set访问器,请使用只读自动属性。