다양한 유형의 확장 메소드가 포함 된 정적 클래스가 있습니다. 어떤 유틸리티 나 여러 클래스로 분할하는 방법이 있습니까? 각 대상 유형에 대해 별도의 클래스가 있어야합니다.확장 방법을 그룹화하는 방법은 무엇입니까?
답변
다양한 확장 메서드를 다른 클래스에 넣는 것이 "깨끗한 코드"관점에서 좋은 생각이지만 확장 메서드의 기본 "그룹화"는 다른 네임 스페이스에 배치하여 발생합니다. 그 이유는 적절한 네임 스페이스를 "사용"함으로써 확장 방법을 사용할 수 있기 때문입니다.
다른 확장 메서드 그룹을 다른 네임 스페이스에 넣는 것은 충돌하는 확장 메서드가있을 수 있으므로 좋습니다. 이런 경우 확장 메서드의 각 논리 그룹은 세분화 된 네임 스페이스에 있으므로 using
문 중 하나만 제거하면 충돌을 해결할 수 있으므로 실제로 원하는 확장 메서드가 포함 된 using
문을 그대로 둡니다.
public class StringComplexManager
{
public StringComplexManager(String value)
{
Value = value;
}
public String Value { get; set; }
}
public static class StringComplexExtensions
{
public static StringComplexManager ComplexOperations(this String value)
{
return new StringComplexManager(value);
}
public static int GetDoubleLength(this StringComplexManager stringComplexManager)
{
return stringComplexManager.Value.Length * 2;
}
}
사용법은 다음과 같습니다 :
string a = "Hello"
a.ComplexOperations().GetDoubleLength()
ComplexOperation()
그룹 확장 방법
답변 해 주셔서 감사합니다. – Peter17
+1 좋은 링크, 감사합니다! –
내가 그룹의 또 다른 방법이있다 : 여기
몇 가지 모범 사례에 대한 링크입니다 인텔리 센스를 좁 힙니다. 범위를 사용하여 원래 수백 개의 문자열 확장 메서드가있는 경우 intellisense에서 하나만 볼 수 있습니다.- 1. 애매한 이름의 확장 방법을 해결하는 방법은 무엇입니까?
- 2. 이 확장 방법을 "일반화"하는 방법은 무엇입니까?
- 3. 일반 클래스를 그룹화하는 방법은 무엇입니까?
- 4. htmldatatable에 행을 그룹화하는 방법은 무엇입니까?
- 5. 날짜 범위별로 그룹화하는 방법은 무엇입니까?
- 6. 간격으로 결과를 그룹화하는 방법은 무엇입니까?
- 7. 여러 줄을 그룹화하는 방법은 무엇입니까?
- 8. ASP.NET MVC 뷰에서 데이터를 그룹화하는 방법은 무엇입니까?
- 9. 내 Qt 앱에 위젯을 그룹화하는 방법은 무엇입니까?
- 10. Silverlight에서 첫 글자로 항목을 그룹화하는 방법은 무엇입니까?
- 11. jQuery 플러그인을 함께 그룹화하는 방법은 무엇입니까?
- 12. ASP.NET 클래스에서 함수를 그룹화하는 방법은 무엇입니까?
- 13. SQL 결과 집합을 올바르게 그룹화하는 방법은 무엇입니까?
- 14. 이러한 제품을 가장 효율적으로 그룹화하는 방법은 무엇입니까?
- 15. Mysql - NVP 값을 검색하고 그룹화하는 방법은 무엇입니까?
- 16. 정규 표현식에서 그룹을 올바르게 그룹화하는 방법은 무엇입니까?
- 17. 스칼라에서 유틸리티 함수를 그룹화하는 기본 방법은 무엇입니까?
- 18. 둘 이상의 레벨로 그룹화하는 방법은 무엇입니까?
- 19. gwt-rpc 호출을 그룹화하는 방법은 무엇입니까? DWR와
- 20. PowerShell을 사용하여 날짜별로 파일을 그룹화하는 방법은 무엇입니까?
- 21. 고정 된 카운트 범위에서 그룹화하는 방법은 무엇입니까?
- 22. 요일별로 항목을 세고 그룹화하는 방법은 무엇입니까?
- 23. xquery의 속성을 기반으로 요소를 그룹화하는 방법은 무엇입니까?
- 24. 특정 속성으로 쿼리하고 그룹화하는 방법은 무엇입니까?
- 25. Reporting Services 매트릭스의 열을 그룹화하는 방법은 무엇입니까?
- 26. SDK는 사진 (장소)과 같이 주석을 그룹화하는 방법을 제공합니까?
- 27. VBA 방법을 향상시키는 방법은 무엇입니까?
- 28. 확장 방법을 고정/공유로 설정할 수 있습니까?
- 29. CSS 테두리를 사용하여 섹션을 시각적으로 그룹화하는 방법은 무엇입니까?
- 30. 확장 방법을 구현하는 가장 좋은 방법
안녕하세요, 당신이 확장하는 모든 유형에 대해 typeExtensions와 같은 다른 클래스를 정의 하겠지만, 너무 많지 않으면 동일한 클래스와 네임 스페이스에 모든 클래스를 유지할 것입니다. –