[英]c#: getter/setter
我在某处看到类似下面的内容,想知道它是什么意思。 我知道他们是 getter 和 setter,但想知道为什么字符串类型是这样定义的。 谢谢你帮助我。
public string Type { get; set; }
这些是自动实现的属性(简称自动属性)。
编译器将自动生成以下简单实现的等效项:
private string _type;
public string Type
{
get { return _type; }
set { _type = value; }
}
这是一个自动属性,它是它的简写符号:
private string type;
public string Type
{
get { return this.type; }
set { this.type = value; }
}
在 C# 6 中:
现在可以将自动属性声明为字段:
public string FirstName { get; set; } = "Ropert";
只读自动属性
public string FirstName { get;} = "Ropert";
public string Type { get; set; }
和做没有什么不同
private string _Type;
public string Type
{
get { return _Type; }
set { _Type = value; }
}
这意味着编译器在运行时定义了一个支持字段。 这是自动实现属性的语法。
更多信息: 自动实现的属性
它是一个自动支持的属性,基本上相当于:
private string type;
public string Type
{
get{ return type; }
set{ type = value; }
}
您还可以使用 lambda 表达式
public string Type
{
get => _type;
set => _type = value;
}
随着 C# 6 的发布,您现在可以对私有财产执行类似的操作。
public constructor()
{
myProp = "some value";
}
public string myProp { get; }
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.