2017-01-17 2 views
0

API를 사용하여 프로그래밍 중입니다. 이 API의 클래스는 Component2이며 매우 유용하지는 않습니다. ToString입니다.외부 클래스 용 디버거에서 유용한 텍스트 표현 가져 오기 (코드를 수정할 수 없음)

enter image description here

클래스는 내게 필요한 정보를 제공하는 게터 속성 Name이 있습니다 - 그 때문에, 디버깅이 매우 편안하지 않습니다 스크린 샷을 참조하십시오.

ToString() 대신 Name 값을 출력하도록 Visual Studio를 만들 수 있습니까?

이 현재 상황 :

enter image description here

그리고 이것은 내가 원하는 무엇 내가 명확히하기 위해 비주얼 스튜디오 2015


을 사용하고

:

enter image description here


네이티브 디버깅을 활성화 또는

dynamic swxRootComp = _activeDoc.ConfigurationManager.ActiveConfiguration.GetRootComponent3(false); 
var nameValue = swxRootComp.Name; 

와 코드 내 한 줄을 교체하는 날 이전보다 더 볼 수 있지만, Name은 여전히 ​​아무데도 찾을 수하는 것입니다

enter image description here

+0

API에 액세스 할 수 있습니까? –

+0

"액세스"란 무엇을 의미합니까? 물론 사용할 수는 있지만 코드를 보거나 수정할 수는 없습니다. – Kjara

+0

네이티브 코드에 대한 래퍼처럼 보입니다. 네이티브 디버깅을 활성화하려고 시도 했습니까? – KimKulling

답변

0

의 경우 component2.GetType().Name을 사용하십시오.
0

Alt + Enter (Visual Studio)를 누르고 "디버깅"탭으로 이동하여 "네이티브 코드 디버깅"을 사용하십시오.

0

이러한 목적으로 DebuggerDisplayAttribute을 사용할 수 있습니다. 예 :

[DebuggerDisplay("{value}", Name = "{key}")] 
public class KeyValuePairs 
{ 
    private object key; 
    private object value; 

    public KeyValuePairs(object key, object value) 
    { 
     this.value = value; 
     this.key = key; 
    } 
} 
+2

하지만 내 맥락에서 어떻게 사용합니까? 나는 IComponent2 클래스의 코드를 수정할 수 없다 ... – Kjara

+0

기술적으로 방금 ToString()을 오버라이드하지 않고 * 말했다. 이 게시물은 해당 질문에 대한 유효한 답변입니다 (귀하의 경우에는 도움이되지 않지만). @Kjara –

+0

더 이상 없습니다. 질문의 제목이 변경되었습니다. – Kjara