2016-08-19 7 views
-1

일부 C++을 CLI/C++를 통해 C#에 매핑하려고합니다. C++에서 나는 List<Dictionary<String,String>으로 .Net에서 표현할 수 있다고 생각하는 vector<map<string,string>>을 가지고 있습니다. 그러나 이것은 나에게 오류를 준다.C# 사전 목록

List<Dictionary<String,String>> // is not a valid generic argument 

표준 대안이 있습니까?

참고 CLI/C++에서 구현하고 있습니다. 당신은 다음과 같이 다음 초기화 할 수 있습니다

List<Dictionary<String,String>> DictList = new List<Dictionary<String,String>>(); 

:

+0

여기에있는 것이 있습니까? C++에서는 익숙하지 않지만 벡터와지도는 C#에서 List 및 Dictionary처럼 작동하지만 interop을 수행 할 때 중요한 유형입니다. http://stackoverflow.com/questions/31417688/passing-a-vector-array-from-unmanaged-c-to-c-sharp –

+0

"오류 메시지"를 보내주십시오. 실제 발생한 오류 메시지와 전체 코드는 게시 한 코드의 오류 메시지가 없어야합니다. 또한, C#에서 C++ 메소드를 호출하는 것이 무엇인지 알아 내려고 오류가 발생하는 경우 intellisense가 전체에 대해 말하는 내용을 알려주십시오. 이 시나리오에서 어떤 유형의 것이 있어야 하는지를 알려주는 것이 좋다고 생각합니다. –

+0

오류가 있습니다. ... –

답변

0

내가 필요하다고 밝혀 일반 컨테이너로 핸들을 전달하는 방법 :

List<Dictionary<String^, String^>^>^ list_of_dict_of_string; 

감사합니다.

1

당신이 오타, 선언은 다음과 같이해야합니다 어떤 방법이 될 수 있습니다 하나 >를 놓친

List<Dictionary<String, String>> DictList = new List<Dictionary<String, String>>() 
             { 
              new Dictionary<String,String>() 
              { 
               {"Key 1","value 1" }, 
               {"Key 2","value 2" } 
              }, 
              new Dictionary<String,String>() 
              { 
               {"Key 1","value 1" }, 
               {"Key 2","value 2" } 
              } 
             }; 
+0

그건 오타였다. –