c# - => 运算符在公共字段上的目的是什么?
问题描述
=>
在 C# 类中将运算符与公共字段一起使用的目的是什么?我看到这是在 GitHub 上托管的 eShopOnWeb ASP.NET Core 项目的单元测试代码中完成的。它实际上是一个属性,=>
运算符引用从 getter 方法返回的值吗?有问题的代码如下所示:
using Microsoft.eShopWeb.ApplicationCore.Entities.OrderAggregate;
namespace Microsoft.eShopWeb.UnitTests.Builders
{
public class AddressBuilder
{
private Address _address;
public string TestStreet => "123 Main St.";
public string TestCity => "Kent";
public string TestState => "OH";
public string TestCountry => "USA";
public string TestZipCode => "44240";
public AddressBuilder()
{
_address = WithDefaultValues();
}
public Address Build()
{
return _address;
}
public Address WithDefaultValues()
{
_address = new Address(TestStreet, TestCity, TestState, TestCountry, TestZipCode);
return _address;
}
}
}
解决方案
上这堂课:
public class Foo
{
public int Bar { get; } = 42;
public int Qaz => 42;
}
反编译时输出以下内容:
public class Foo
{
[CompilerGenerated]
[DebuggerBrowsable(DebuggerBrowsableState.Never)]
private readonly int <Bar>k__BackingField = 42;
public int Bar
{
[CompilerGenerated]
get
{
return <Bar>k__BackingField;
}
}
public int Qaz
{
get
{
return 42;
}
}
}
您正在查看get
仅属性的简写。