C# 中属性的不同访问修饰符

发布于 2024-11-05 17:13:00 字数 65 浏览 0 评论 0原文

我们可以在属性中为 getset 使用不同的访问修饰符吗?

Can we have different access modifier for get and set in a property?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

少女净妖师 2024-11-12 17:13:00

是的,您可以,但是遵循这样的规则:您的 getter/setter 不能具有比属性本身限制更少的访问修饰符。

例如(C#):

public Foo { get; private set; } //this is okay
protected Bar { get; public set; } //this will throw a compile error

Yes, you can, however it is subject to the rule that your getter/setter cannot have a less restricted access modifier than the property itself.

For example (C#):

public Foo { get; private set; } //this is okay
protected Bar { get; public set; } //this will throw a compile error
帥小哥 2024-11-12 17:13:00

您可以限制属性的 getter 或 setter:

public string MyProperty
{
    get { return _myProperty; }
    private set { _myProperty = value; }
}

它也适用于 inside 和 protected。 但是,这里的关键词是“限制” - 您不能使任一修饰符比整个修饰符更容易访问。

You can restrict the getter or setter of a property:

public string MyProperty
{
    get { return _myProperty; }
    private set { _myProperty = value; }
}

It also works with internal and protected. However, the key word here is "restrict" - you can't make either modifier more accessible than the overall modifier.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文