Здравствуйте Newbie, Вы писали:
N>Привет всем,
N>Задача: вернуть 2 строки из вызова метода класса, написанного на MC++.
N>Вызывать его можно как MyClass.MyOp(ref s1, ref s2); или MyClass.MyOp(out s1, out s2); — правильно?
N>(начальные значения строк не важны в общем случае).
N>Как должны выглядеть definition/implementation этого метода в MC++ классе?
N>void MyClass::MyOp (System::String __gc * s1, System::String __gc * s2)
N>{
N> s1 = S"aaa"; s2 = S"bbb";
N>}
N>не работает — точнее, не распознается С# компилятором как метод с ref/out параметрами
И правильно делает, потому что String * — это аналог просто string в C#.
По идее, должно работать такое:
MyOp(String &s1,String &s2);
или такое:
MyOp((String *)&s1,(String *)&s2);