这些是Person类的声明。
protected int ID { get; set; }
protected string Title { get; set; }
protected string Description { get; set; }
protected TimeSpan jobLength { get; set; }
我如何使用获取/设置?总的来说,我实例化了一个
Person Tom = new Person();
Tom.set/get如何?
我习惯做C++风格,您只需写出int getAge()和void setAge()函数即可。但是在C#中,有处理get和set的快捷方式吗?
最佳答案
假设您有权访问它们(已声明的属性为protected
),则可以像下面这样使用它们:
Person tom = new Person();
tom.Title = "A title";
string hisTitle = tom.Title;
这些是properties。它们基本上是带有适当元数据的一对getter/setter方法(尽管您可以只有一个getter或一个setter)。您给出的示例是自动实现的属性,在该属性中,编译器将添加一个后备字段。您可以自己编写代码。例如,您声明的
Title
属性如下所示:private string title; // Backing field
protected string Title
{
get { return title; } // Getter
set { title = value; } // Setter
}
...除了为后备字段指定了“无法说出的名字”-您在C#代码中无法引用的名字。您被迫浏览属性(property)本身。
您可以使某个属性的一部分比另一部分更受限制。例如,这很常见:
private string foo;
public string Foo
{
get { return foo; }
private set { foo = value; }
}
或作为自动实现的属性:
public string Foo { get; private set; }
这里的“获取者”是公开的,而“设定者”是私有(private)的。
关于c# - C#获取/设置语法用法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4662442/