gpt4 book ai didi

c# - 是否可以强制自动属性使用只读支持字段?

转载 作者:可可西里 更新时间:2023-11-01 08:16:37 24 4
gpt4 key购买 nike

我的项目包含大量具有属性的类,这些属性的支持字段标记为只读,因为它们仅在构造时设置。就风格而言,我喜欢使用自动属性,因为它消除了很多样板代码并鼓励使用属性成员而不是支持字段。但是,当使用自动属性时,我失去了支持字段的“只读性”。我知道当以这种方式标记字段时,编译器/运行时能够利用一些性能增强功能,因此我希望能够将我的自动属性标记为只读,如下所示:

[ReadOnly]
public string LastName { get; }

而不是

private readonly string _LastName;
public string LastName
{
get
{
return _LastName;
}
}

是否已经有某种机制可以做到这一点?如果不是,自定义支持字段只读带来的性能提升真的值得吗?

将字段公开为公共(public)是另一种选择,我想,以这种方式公开字段似乎是错误的。即

public readonly string LastName;

最佳答案

恐怕不行,但你可以这样做:

public string LastName { get; private set; }

不如 readonly 好,但也不算太差。

关于c# - 是否可以强制自动属性使用只读支持字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1050761/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com