2012-07-01 4 views
0

C++/CLI를 사용하여 첫 번째 클래스 라이브러리를 작성 중이며 KeyValuePair 클래스의 키 및 값 속성에 액세스하려고 할 때 오류가 발생했습니다. 나는 그것을에 중단 점을 및 Visual Studio 2010을 사용 검사 할 때C++/CLI : KeyValuePair <> 키와 값이 존재하지 않습니다.

KeyValuePair<String^, LONG>^ params = gcnew KeyValuePair<String^, LONG>(readerName, hContext); 

, 무슨 params 변수, 올바르게하지만 키와 값 속성에 대한 키와 값 누르고 두 개인 변수를 보여줍니다 것은 그것은 뭔가를 말하는 오류를 보여줍니다 "키가 존재하지 않습니다"와 같이

ошибка: "System::Collections::Generic::KeyValuePair<System.String ^,int>(params.Key" не существует 

답변

0

아마도 LONG은 제네릭 클래스의 인수 유형으로 사용하는 것이 가장 좋지 않습니다. 건물에 따라 정의 될 수도 있고 정의되지 않을 수도 있습니다. int 또는 long을 사용하거나 더 나은 방법으로 Int32 또는 Int64를 대신 사용하십시오.

Visual Studio의 최신 버전은 Intellisense for C++/CLI를 지원하지 않으며보고있는 것처럼 시계 변수를 부분적으로 해독 할 수없는 경우가 많습니다.

결론 : IDE/디버거가 C++/CLI 코드에서 제대로 작동하지 않을 것으로 예상하지 마십시오. 디버그 스트림으로 출력하거나 아니면 자체 코드에서 변수를 테스트하여 예상대로 작동하는지 확인합니다. Managed C++의 경우 디버거를 신뢰하지 마십시오.

관련 문제