C# 公共只读字段v.s.get only属性
在某些情况下,您是否希望使用公共只读字段v.s.作为仅自动实现的属性C# 公共只读字段v.s.get only属性,c#,c#-6.0,C#,C# 6.0,在某些情况下,您是否希望使用公共只读字段v.s.作为仅自动实现的属性 public class Foo { public readonly string Hello; public string Hello2 { get; } } 两者都只能在构造函数期间设置,并且都提供类外的只读访问。。我有点累了,所以可能遗漏了一些内容。一个原因是数据绑定-.net实现了绑定到属性,但没有绑定到公共字段 这里有一些讨论:将其作为属性而不是字段意味着可以在接口上使用它 确切的实现(虽然自动属
public class Foo
{
public readonly string Hello;
public string Hello2 { get; }
}
两者都只能在构造函数期间设置,并且都提供类外的只读访问。。我有点累了,所以可能遗漏了一些内容。一个原因是数据绑定-.net实现了绑定到属性,但没有绑定到公共字段
这里有一些讨论:将其作为属性而不是字段意味着可以在接口上使用它
确切的实现(虽然自动属性实际上没有太多的实现…)也是抽象的,因此将来您可以在不破坏(编译)兼容性的情况下将其建立在字段组合的基础上。非常好的示例,谢谢,我知道这里明显缺少一些东西。我想知道的上下文是默认asp.net核心模板中的Startup.cs,有趣的是,Startup没有实现接口,但可能该属性在其他地方被用作挂钩。我真的想标记your和PaulF的作为答案,因为它们都有意义,他会稍微早一点,但如果可以,我也会标记你的!