【发布时间】:2022-03-04 07:07:02
【问题描述】:
我想问你,我应该如何设置和获取属性值?我应该这样做吗,例如直接从另一个类并将属性设置为公共属性,或者更好的做法是将属性设置为私有并更改它或通过使用此类中实现的公共函数来获取它?
第一种情况:
//Class.cs
public class Class
{
public int Number{ get; set; }
}
//AnotherClass.cs
public class AnotherClass
{
Class class = new Class();
class.Number = 2;
int number = class.Number;
}
第二种情况:
//Class.cs
public class Class
{
private int Number{ get; set; }
public void setNumber(int number)
{
Number = number;
}
public int getNumber()
{
return Number;
}
}
//AnotherClass.cs
public class AnotherClass
{
Class class = new Class();
class.setNumber(2);
int number = class.getNumber();
}
这段代码显然有点简化了……
【问题讨论】:
-
与许多事情一样,视情况而定。
-
但是出于同样的目的,有没有更好或更安全的选择?可以像第一种情况那样做吗?
-
绝对是第一种情况。这就是属性的用途。
-
感谢您的回答,现在我明白了,我应该在扩展的 setter / getter 中实现该行为,而不是创建新的方法。
标签: c# properties