是否可以为属性的get和set访问器指定单独的访问修饰符?

Suk*_*van 8 .net c# properties access-modifiers

我们可以在C#/ .NET中为get和set属性的访问者指定访问修饰符吗?

如果是这样,那么实施此方法的最佳方法是什么?

Cod*_*ray 15

是的,这是可能的.它被称为非对称访问器可访问性,您可以在此页面上阅读它的MSDN文档.代码看起来像这样:

public int Age
{
    get
    {
        return _age;
    }
    protected set
    {
        _age = value;
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,要记住以下几点需要注意:

  • 只能修改一个访问者.
  • 对个人访问者的任何限制必须比属性本身的可访问级别严格,而不是更少.
  • 您不能在接口上使用访问者修饰符或接口成员的显式实现.