0

我将此 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;
    }
};

我在这里做错了什么(鉴于我必须使用参考属性)?

4

1 回答 1

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;
    }
};
于 2012-11-30T15:33:24.430 回答