我在托管C ++中包装了一些C ++代码以在C#中对其进行访问:我不知道如何使运算符在C#中正常工作
我在托管C ++中创建:
public ref class ClassCLI
{
public:
double val;
ClassCLI() {};
void operator ++() { val++; };
double% operator[](int i) { return val; }
};
这在托管C ++中有效:
ClassCLI^ obj = gcnew ClassCLI();
obj++;
obj[0] = 12.0;
但是在C#中,我不能直接使用运算符++或[],我必须使用一些难看的名称来破坏运算符的目的。
var obj = new ClassCLI();
obj.op_Increment();
obj.op_Subscript(0) = 12.0;
可以告诉我我做错了什么吗?我说过,在某些帖子中,对于C#来说,运算符应该是静态的,对于operator ++来说很容易,但是不确定如何对operator []进行操作。
我在托管C ++中包装了一些C ++代码以在C#中对其进行访问:我不知道如何使运算符在托管C ++中创建的C#中正常工作:public ref class ClassCLI {public:double ...