问题描述
- 【强迫症】编写C#程序时定义属性遇到的问题
-
在一个类中定义属性时:private string adminName; public string AdminName { get { return adminName; } set { adminName = value; } }
这算比较常规的写法吧。
可是我在阅读开源项目的例子时,见到了这样的写法
public string AdminName { get; set; }
请问,上面的这种写法正确吗?定义类的属性时,这么用对吗?
与第一中写法有什么区别和联系呀?
解决方案
对的!在C#中这叫自动属性
快捷键是prop Tab2次
这是简单的属性,但是在属性中有逻辑代码是不可以这样写的
例如:
public int Age
{
get{}
set{}
}
就是错误的,这是可以发现属性并没有对应的字段
终结:
有字段,就不可以使用简单属性
解决方案二:
对的!在C#中这叫自动属性
快捷键是prop Tab2次
这是简单的属性,但是在属性中有逻辑代码是不可以这样写的
例如:
public int Age
{
get{}
set{}
}
就是错误的,这是可以发现属性并没有对应的字段
终结:
有字段,就不可以使用简单属性
解决方案三:
两种写法都正确,就相当于简写吧
解决方案四:
问题解决了。
下面是我通过楼上那位朋友提供的自动属性查找到的,其实下面的这个博客跟楼上朋友说的都是对的,相当于我看了两遍才明白。
搞定了。谢谢朋友们。
时间: 2025-01-21 19:23:58