繁体   English   中英

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

[英]Can separate access modifiers be specified for the get and set accessors of a property?

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

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

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

public int Age
{
    get
    {
        return _age;
    }
    protected set
    {
        _age = value;
    }
}

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

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

是的你可以...

public class Example
{
    public string Property
    {
        get;
        private set;
    }

    public string Property2
    {
        get;
        protected set;
    }
}

等等

http://msdn.microsoft.com/en-us/library/ms173121.aspx显示了可能的修饰符。 如果你想拥有不同的修饰符,请写:

[Modifier] [DataType] ProperyName{
    [Modifier] get{}
    [Modifier] set{}
}

但是,如果声明内部修饰符,则它们必须小于或等于外部修饰符。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM