Tôi quấn một lớp C++ bản xứ, trong đó có các phương pháp sau đây:Chuyển đổi std :: vector <> :: iterator để giao diện NET trong 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) các" NET là gì cách "đại diện cho cùng loại giao diện này? Một phương thức duy nhất trả về một mảng <>? Liệu mảng <> generic có trình vòng lặp, để tôi có thể triển khai BeginLocals() và EndLocals()?
2) Địa phương có nên được khai báo là giá trị cấu trúc trong trình bao bọc .NET không?
Tôi thực sự muốn đại diện cho lớp bao bọc bởi một hương vị .NET, nhưng tôi rất mới với thế giới quản lý - và loại thông tin này là bực bội để google cho ...
Đó là một cách tiếp cận tốt, nhưng có thể bạn cũng muốn đảm bảo hiển thị thuộc tính Đếm ít nhất :). Một lưu ý khác, không hiển thị danh sách hoặc thực hiện IEnumerable < T >, lớp sẽ không thể sử dụng được bởi các phần mở rộng LINQ trong .net 3.5 –