Intellisense에 확장 방법이 나타나는 것을 제공하는 공개 클래스를 어떻게 방지 할 수 있습니까?

StackOverflow https://stackoverflow.com/questions/295287

문제

Intellisense로부터 확장 방법을 제공하는 유일한 목적이있는 클래스의 이름을 '숨기기'하는 방법이 있습니까?

Intellisense 목록에서 클래스 이름을 제거하고 싶지만 일반적인 방식으로 Intellisense를 통해 외부 어셈블리에 클래스의 확장 방법을 사용할 수 있어야합니다.

도움이 되었습니까?

해결책

좋아, 나는 이것에 대한 답이있다. Hallgrim의 클래스를 표시하는 제안 ..

[EditorBrowsable(EditorBrowsableState.Never)]

.. 실제로는 작동하지만 어디에서만 작동합니다 집회 수업을 제공하는 어셈블리를 작성하는 동안 내 자신의 대 솔루션에서와 같이 프로젝트보다는 참조되고 있습니다. 확장 방법은 평소와 같이 사용할 수 있습니다.

다른 팁

나는 당신이 editorBrowsable 속성으로 이것을 할 수있을 것으로 기대했습니다.

[EditorBrowsable(EditorBrowsableState.Never)]
static class MyExtensions { }

불행히도 이것은 작동하지 않는 것 같습니다.

클래스 또는 확장 방법을 숨기고 싶습니까?

정적 클래스를 자체 네임 스페이스에 넣으면 해당 네임 스페이스를 사용하여 해당 네임 스페이스를 가져 오지 않는 코드는 확장 메소드를 "보지 못합니다".

확장 메소드를 모듈에 넣으면 Hidemodulename이라는 속성이 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top