我将此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;
}
};
我在这里做错了什么(假设我必须使用引用属性)?
答案 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;
}
};