C ++ / CLI参考属性

时间:2012-11-28 20:18:07

标签: pointers properties reference c++-cli

我将此C ++ / CLI属性公开给COM,COM只能接受复杂类型的引用类型属性(它不接受指针属性)。公开类的私有成员与引用属性一起使用的最佳方法是什么?我尝试了以下(两个都不起作用,因为我错过了一个指向引用的指针,反之亦然):

private:
    Object _myProp;
public:
property Object %MyProp { 
    virtual Object %get() 
    {
        return _myProp;
    }
    virtual void set(Object %value) 
    {
        _myProp = value;  // this line doesn't work
    }
};

我试过这个:

private:
    Object ^_myProp;
public:
property Object %MyProp { 
    virtual Object %get() 
    {
        return _myProp;   // this line doesn't work
    }
    virtual void set(Object %value) 
    {
        _myProp = %value;
    }
};

我在这里做错了什么(假设我必须使用引用属性)?

1 个答案:

答案 0 :(得分:0)

我试图用“^”返回_myProp,我发现我应该使用“*”

private:
    Object ^_myProp;
public:
property Object %MyProp { 
    virtual Object %get() 
    {
        return *_myProp;   // this line NOW works
    }
    virtual void set(Object %value) 
    {
        _myProp = %value;
    }
};