J'enroulant un C++ natif, qui a les méthodes suivantes:Conversion std :: vector <> :: iterator à l'interface .NET en classe C++/CLI
class Native
{
public:
class Local
{
std::string m_Str;
int m_Int;
};
typedef std::vector<Local> LocalVec;
typedef LocalVec::iterator LocalIter;
LocalIter BeginLocals();
LocalIter EndLocals();
private:
LocalVec m_Locals;
};
1) Quel est le » .NET manière "de représenter ce même type d'interface? Une seule méthode renvoyant un tableau <>? Est-ce que le tableau <> generic a des itérateurs, pour que je puisse implémenter BeginLocals() et EndLocals()?
2) Est-ce que Local doit être déclaré valeur struct dans l'encapsuleur .NET?
Je voudrais vraiment représenter la classe enveloppé avec une saveur .NET, mais je suis très nouveau dans le monde géré - et ce type d'information est frustrant de Google pour ...
C'est une bonne approche, mais vous voudrez probablement vous assurer également d'exposer une propriété Count au moins :). Une autre note, sans exposer la liste ou implémenter IEnumerable , la classe ne sera pas utilisable par les extensions LINQ dans .net 3.5 –