这些是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/

10-17 02:08