Pointers C++/CLI引用属性

Pointers C++/CLI引用属性,pointers,properties,reference,c++-cli,Pointers,Properties,Reference,C++ Cli,我将此C++/CLI属性公开给COM,COM只能接受复杂类型的引用类型属性(它不接受指针属性)。公开类的私有成员以与引用属性一起使用的最佳方法是什么?我尝试了以下方法(两种方法都不起作用,因为我缺少指向引用的指针,反之亦然): private: 对象_myProp; 公众: 属性对象%MyProp{ 虚拟对象%get() { 返回_myProp; } 虚拟无效集(对象%值) { _myProp=value;//此行不起作用 } }; 我试过这个: private: 对象^\u myProp;

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

private:
对象_myProp;
公众:
属性对象%MyProp{
虚拟对象%get()
{
返回_myProp;
}
虚拟无效集(对象%值)
{
_myProp=value;//此行不起作用
}
};
我试过这个:

private:
对象^\u myProp;
公众:
属性对象%MyProp{
虚拟对象%get()
{
return _myProp;//此行不起作用
}
虚拟无效集(对象%值)
{
_myProp=%value;
}
};
我在这里做错了什么(因为我必须使用引用属性)?

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

private:
对象^\u myProp;
公众:
属性对象%MyProp{
虚拟对象%get()
{
return*\u myProp;//这行现在可以工作了
}
虚拟无效集(对象%值)
{
_myProp=%value;
}
};

很难猜出“参考属性”是什么意思。用^替换%1,对象已经是引用类型。Hans,这不适用于COM。它必须是一个引用属性,一个指针,一个不起作用的属性。这里描述了这个问题:在C#中,我无法使它工作,我确实在这个特定问题上花了几天时间。在C++/CLI中,它可以工作,我可以设置属性,但是,我这里的问题是如何启用设置和从引用属性获取。