[c#] C #의 인터페이스에서 XML 주석 상속

인터페이스 xml 주석을 구현에 연결하는 방법을 아는 사람이 있는지 궁금합니다. 문제는 기본 주석이 내 인터페이스에서 먼저 나오기를 원한다는 것입니다. 예:

interface myinterface {

       /// <summary>
       /// Does something.
       /// </summary>
       void method1(string foo);

}

구현은 다음과 같습니다.

public class myclass : myinterface {


       public void method1(string foo) {
             //do something...
       }
}

이제 개체를 인스턴스화 한 후 마우스로 메서드 위로 마우스를 가져 가면 :

myclass foo = new myclass();
foo.method1("do something");

마우스 오버 팝업에 댓글을 표시하려면 어떻게해야합니까? 인터페이스 주석을 구현에 연결할 수있는 방법이 있습니까? Java에 방법이 있다는 것을 알고 있지만 C #에 대한 솔루션을 찾을 수 없습니다.

감사



답변

XML 주석을 링크하는 것은 IMHO가 불가능하지만 GhostDoc 과 같은 도구를 사용 하여 인터페이스 / Baseclass에서 구현 / 파생 클래스로 XML 주석을 복사 할 수 있습니다 .


답변

XMLDoc은 <include />Visual Studio 2003 이후로 사용 된 다른 파일의 주석을 포함하기위한 태그 를 정의합니다 . 가장 큰주의 사항은 참조 된 파일이 다른 소스 파일이 아닌 XMLDoc 문서 만 포함하는 파일이어야한다는 것입니다.

자세한 내용 은 MSDN 페이지 를 참조하십시오.


답변

GhostDoc 을 사용 하면 인터페이스에서 구현 코드로 문서를 “전송”하는 데 많은 도움이됩니다.


답변

<inheritdoc/>곧 네이티브 지원을받을 것 같습니다 .

참조 https://github.com/dotnet/csharplang/issues/313를


답변

http://blog.x-tensive.com/2008/02/fixml.html

원래 문서 시스템이 부족한 특정 추가 옵션이있는 포스트 프로세서입니다.

웹 사이트에서 :

간단한 요약:

FiXml은 C # \ Visual Basic.Net에서 생성 한 XML 문서의 포스트 프로세서입니다. 다음 언어로 XML 문서를 작성하는 것과 관련된 가장 성가신 경우를 해결합니다.-기본 클래스 또는 인터페이스에서 문서 상속을 지원하지 않습니다. 즉, 재정의 된 멤버에 대한 문서는 처음부터 작성해야하지만 일반적으로 적어도 일부를 상속하는 것이 바람직합니다. – “이 유형은 싱글 톤입니다. 속성을 사용하여 유일한 인스턴스를 가져옵니다.”또는 “새 클래스 인스턴스를 초기화합니다.”와 같이 일반적으로 사용되는 문서 템플릿의 삽입을 지원하지 않습니다.


답변

<inheritdoc /> 태그에 대한 지원을 추가하여 XML 문서 파일을 후 처리하는 명령 줄 도구를 만들었습니다.

소스 코드의 Intellisense에는 도움이되지 않지만 수정 된 XML 문서 파일을 NuGet 패키지에 포함 할 수 있으므로 참조 된 NuGet 패키지의 Intellisense와 함께 작동합니다.

자세한 내용은 www.inheritdoc.io 를 참조하십시오 (무료 버전 사용 가능).


답변