Reflection 클래스에서 사용되는 디자인 패턴
System.Reflection 네임스페이스에서 가장 일반적으로 사용되는 메서드는 일관된 패턴을 사용합니다. Module, Type 및 MemberInfo 클래스의 멤버는 다음 표와 같은 디자인 패턴을 사용합니다.
멤버 시그니처 |
설명 |
---|---|
MyInstance[] FindXxx(filter, filterCriteria) |
필터링된 형식 목록을 찾아서 반환하거나, 필터와 일치하는 형식이 현재 형식에 의해 구현되지 않았을 경우 빈 배열을 반환합니다. 예를 들면 Type.FindInterfaces와 같은 형식입니다. |
MyInstance GetXxx(<parameters>) |
<parameters>로 고유하게 지정된 형식을 반환합니다. 해당 형식이 없는 경우 멤버는 null 참조(Visual Basic의 경우 Nothing)를 반환합니다. <parameters>는 인스턴스를 고유하게 지정합니다. 예를 들면 Type.GetInterface와 같은 형식입니다. |
MyInstance[] GetXxxs() |
모든 공용 형식을 반환합니다. 공용 형식이 없으면 멤버는 빈 배열을 반환합니다. 예를 들면 Type.GetFields와 같은 형식입니다. |
MyInstance[] GetXxxs(<parameters>) |
<parameters>로 지정된 모든 형식을 반환합니다. 해당 형식이 없으면 멤버는 빈 배열을 반환합니다. <parameters>가 반드시 고유한 인스턴스를 지정하지는 않습니다. |
또 하나의 일반적인 디자인 패턴은 대리자를 사용하는 것입니다. 대리자는 일반적으로 리플렉션에 사용되어서 개체의 배열을 반환하는 메서드에 대해 결과 필터링을 설정할 수 있도록 합니다.