给定一个类Object
,在C ++中可以返回对象本身的引用,如:
//C++
class Object
{
Object& method1()
{
//..
return *this;
}
Object& method2()
{
//.
return *this;
}
}
然后将其消费为:
//C++
Object obj;
obj.method1().method2();
是否有可能在C ++ / CLI中实现相同的效果并在C#应用程序中使用它?我尝试了以下(使用引用%
并处理^
),它在C ++ / CLI中编译,但C#表示这样的方法是
语言不支持
//C++/CLI - compiles OK
public ref class Object
{
Object% method1()
{
//..
return *this;
}
Object% method2()
{
//.
return *this;
}
}
然后用作:
//C#
Object obj = new Object();
obj.method1(); //ERROR
obj.method1().method2(); //ERROR
由于
答案 0 :(得分:2)
您只需要以下C ++ / CLI:
public ref class Object
{
public:
Object ^method1()
{
//..
return this;
}
Object ^method2()
{
//.
return this;
}
};
答案 1 :(得分:0)
好的,这很好用:
//C++/CLI - compiles OK
public ref class Object
{
Object^ method1()
{
//..
return this;
}
Object^ method2()
{
//.
return this;
}
}
然后用作:
//C#
Object obj = new Object();
obj.method1();
obj.method1().method2();