У меня есть управляемый класс C++ C++ с конструкторами, которые вводят ввод. В C# я могу «видеть» конструктор по умолчанию. Есть ли способ вызвать другие конструкторы, не покидая управляемый код? Благодарю.Возможно ли это? Вызов управляемого конструктора struct C++ в C#
Редактировать: На самом деле ни одна из его функций не видна.
C++:
public class Vector4
{
private:
Vector4_CPP test ;
Vector4(Vector4_CPP* value)
{
this->test = *value;
}
public:
Vector4(Vector4* value)
{
test = value->test;
}
public:
Vector4(float x, float y, float z, float w)
{
test = Vector4_CPP(x, y, z, w) ;
}
Vector4 operator *(Vector4 * b)
{
Vector4_CPP r = this->test * &(b->test) ;
return Vector4(&r) ;
}
} ;
C#:
// C# tells me it can't find the constructor.
// Also, none of them are visible in intellisense.
Library.Vector4 a = new Library.Vector4(1, 1, 1, 1);
декларация класса должен быть 'исх класс Vector4'. Не уверен, что это точная проблема здесь, но это проблема. – linuxuser27
Я предпочел бы использовать структуру для Vector4, чем класс. Это, как правило, быстрее. –
Хорошо, это нормально, но это не то, что у вас есть. Я могу быть здесь, но вы используете C++ \ CLI правильно? Если это так, и вы хотите создать структуру, вам нужно объявить тип как 'value struct Vector4' или' ref struct Vector4'. Я не знаком с синтаксисом, который вы используете, если вы хотите использовать класс C++ \ CLI из C# – linuxuser27