【问题标题】:Different access modifiers for property getter/setter in C++/CLIC++/CLI 中属性 getter/setter 的不同访问修饰符
【发布时间】:2012-01-03 07:30:30
【问题描述】:

是否可以使用 C++/CLI 语法为属性 getter 和 setter 指定不同的访问修饰符?在 C# 中可以这样写:

class Foo
{
    public string Bar
    {
        get;
        internal set;
    }
}

【问题讨论】:

    标签: c++-cli


    【解决方案1】:

    应该这样做:

    public:
        property String^ Bar
        {
            String^ get();
        private:
            void set(String^);
        }
    

    (根据 Hans Passant 的评论编辑)。

    【讨论】:

    • 编译不干净。在属性前使用 public:,在 setter 前使用纯 private:
    • @HansPassant 这将编译但不会链接。此链接stackoverflow.com/a/1907836/1008943 声称除非您定义函数定义,否则无法使用具有不同访问级别的自动属性。
    猜你喜欢
    • 2017-06-13
    • 1970-01-01
    • 1970-01-01
    • 2017-11-28
    • 2013-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-25
    相关资源
    最近更新 更多