在c#中 自定义属性 有 {get; set} 和没有{get; set} 的区别
时间: 2024-05-06 21:15:51 浏览: 21
在 C# 中,自定义属性可以有或没有 `get` 和 `set` 访问器。如果一个属性有 `get` 和 `set` 访问器,那么这个属性就是可读可写的,可以通过 `对象.属性名` 的方式获取和设置属性值。如果一个属性只有 `get` 访问器,那么这个属性就是只读的,只能通过 `对象.属性名` 的方式获取属性值,不能设置属性值。
以下是一个示例,展示了有和没有 `get` 和 `set` 访问器的自定义属性的定义和使用:
```csharp
// 带有 get 和 set 访问器的属性
public class Person
{
private string name;
public string Name
{
get { return name; }
set { name = value; }
}
}
// 没有 set 访问器的属性
public class Animal
{
private int age;
public int Age
{
get { return age; }
}
}
// 使用带有 get 和 set 访问器的属性
Person person = new Person();
person.Name = "Tom";
Console.WriteLine(person.Name); // 输出 "Tom"
// 使用没有 set 访问器的属性
Animal animal = new Animal();
Console.WriteLine(animal.Age); // 输出 0
// animal.Age = 10; // 编译错误,无法设置只读属性的值
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)