如何在C ++ / CX中实现UWP接口属性?

时间:2018-03-13 15:05:28

标签: uwp c++-cx

正确的语法是我的意思,而且文档没有这方面的例子......

https://docs.microsoft.com/en-us/cpp/cppcx/properties-c-cx

这适用于标题

public interface class IFoo
{
    property int Bar;
};

public ref class Foo sealed : public IFoo
{
public:
    property int Bar {
        virtual int get() { return _bar; }
        virtual void set(int bar) { _bar = bar; }
    };        
private:
    int _bar;
};

但是如果你想在实现cpp文件中实现getset那么我就无法弄清楚语法。

public interface class IFoo
{
    property int Bar;
};

public ref class Foo sealed : public IFoo
{
public:
    property int Bar {
        virtual int get(); // How are these implemented separately?
        virtual void set(int bar);
    };        
private:
    int _bar;
};

1 个答案:

答案 0 :(得分:2)

属性get()和set()函数必须编译为cpp文件中的两个独立函数:

int Foo::Bar::get()
{
    return _bar;
}

void Foo::Bar::set(int bar)
{
    _bar = bar;
}