I have a C++ list which contains a struct. My C++/CLI project consumes the native C++. I would like to return a managed list to my C# project. How can I convert my C++ list into a managed list?
+2
A:
First you need a ref class that acts as a wrapper around the struct for each item. You can store a pointer to the struct as a field in the ref class. Let's call it StructWrapper.
Then you need something to represent the list. The most flexible way to do that is to expose an IEnumerable<StructWrapper>. Either write your own implementation (not as bad as it sounds) or just load all the items into a List<StructWrapper> and return that.
Daniel Earwicker
2010-01-29 16:29:31