Я согласен с другими: вы не должны использовать C ++ / CLI в большинстве случаев, вы должны использовать C # (или другой «нормальный» управляемый язык) для этого (при условии, что вы хотите написать приложение .Net). C ++ / CLI полезен в основном при особых обстоятельствах, таких как взаимодействие между управляемым и неуправляемым кодом.
Если вы уверены, что хотите использовать C ++ / CLI, вы не можете поместить собственные классы в управляемые. Но вы можете поставить указатели на нативные классы там:
ref class Recipe{
private:
string* partsName;
vector<Iingredient>* ing;
};
Код выше работает. Но вы должны иметь в виду, что это обычные родные указатели C ++, и это означает, что вы должны delete
вручную их использовать. Чтобы сделать это свойство, вы должны прочитать о том, как деструкторы и финализаторы работают в C ++ / CLI.