2010-01-29 2 views
0

C# 프로젝트에 사용하는 네이티브 C++ 응용 프로그램을 래핑하는 C++/CLI 프로젝트가 있습니다. 내 C# 프로젝트에 올바르게 표시되는 C++/CLI 클래스에 몇 가지 void 메서드를 추가했습니다. Intellisense는 C#에서 잘 보여 주며 메서드와 상호 작용할 수 있습니다. 그러나 C++/CLI에서 구조체의 반환 유형을 넣을 때이 메서드는 C#에서 사용할 수있는 것으로 표시되지 않습니다. 어떤 아이디어?내 C++ 프로젝트에서 내 C++/CLI 어셈블리에 반환 유형 목록이 포함 된 메서드를 내 보냅니다.

C++ 호출/CLI

IPFILTERINFOLIST GetBlockList() 
{ 
    return _packetFilter->GetBlockList(); 
} 

...

C++ 기본

IPFILTERINFOLIST PacketFilter::GetBlockList() 
{ 
    return m_lstFilters; 
} 

답변

3

당신은 IPFILERTINFO 구조체의 "관리 버전"을 작성하고 복사해야합니다 당신의 그것으로 관리되지 않는 데이터. 그런 다음 일반 .NET List <>을 만들고 여기에 모든 관리 대상을 추가합니다.