사용자 지정 특성이있는 메서드가 있습니다. 이 메서드를 참조하는 대리자가있는 경우 대리자가 참조하는 메서드에 특성이 있는지 여부를 알 수 있습니까?델리게이트를 통해 메소드 속성을 조사하는 방법은 무엇입니까?
6
A
답변
2
일반적인 경우인지 확실하지 않지만 그렇게 생각합니다. 다음보십시오 :
class Program
{
static void Main(string[] args)
{
// display the custom attributes on our method
Type t = typeof(Program);
foreach (object obj in t.GetMethod("Method").GetCustomAttributes(false))
{
Console.WriteLine(obj.GetType().ToString());
}
// display the custom attributes on our delegate
Action d = new Action(Method);
foreach (object obj in d.Method.GetCustomAttributes(false))
{
Console.WriteLine(obj.GetType().ToString());
}
}
[CustomAttr]
public static void Method()
{
}
}
public class CustomAttrAttribute : Attribute
{
}
3
대리자의 Method
속성의 GetCustomAttributes
방법을 사용합니다. 다음은 샘플입니다.
delegate void Del();
[STAThread]
static void Main()
{
Del d = new Del(TestMethod);
var v = d.Method.GetCustomAttributes(typeof(ObsoleteAttribute), false);
bool hasAttribute = v.Length > 0;
}
[Obsolete]
public static void TestMethod()
{
}
메서드에 var v가 포함되어 있으면; 그렇지 않으면 빈 배열이됩니다.
+0
빠른 응답 주셔서 감사합니다. – djp
관련 문제
- 1. 속성을 통해 메소드 동작을 제어하는 방법은 무엇입니까?
- 2. 델리게이트를 nil로 설정하는 방법은 무엇입니까?
- 3. Safari에서 webScoket 실패를 조사하는 방법은 무엇입니까?
- 4. C++/CLI에서 델리게이트를 전달하는 방법은 무엇입니까?
- 5. ViewController 클래스에서 델리게이트를 추출하는 방법은 무엇입니까?
- 6. 조인 모델을 통해 속성을 찾는 방법은 무엇입니까?
- 7. onmouseup을 통해 속성을 보내는 방법은 무엇입니까?
- 8. couchdb-python을 통해 couchdb 문서의 필드 세트를 조사하는 방법
- 9. NSURLConnection은 델리게이트를 유지합니까?
- 10. NullReferenceException으로 인해 w3wp가 실패합니다. 조사하는 최선의 방법은?
- 11. 버튼을 통해 Ruby 메소드 호출하기
- 12. SVN/Subclipse를 통해 메소드 작성자를 찾는 방법은 무엇입니까?
- 13. 델리게이트를 통한 변수 액세스
- 14. UIAlertView가 델리게이트를 통해 문자열과 int를 전달할 수 있습니까?
- 15. 런타임에 두 개의 델리게이트를 UI 요소에 추가하는 방법은 무엇입니까?
- 16. 델리게이트를 올바르게 사용하는 방법은 무엇입니까? (예를 들어 WPF Storyboards 사용)
- 17. Lambda Expressions : 델리게이트를 표현식으로 저장하는 방법을 분석하는 방법은 무엇입니까?
- 18. 동일한 델리게이트를 가진 여러 클래스를 해제하는 방법은 무엇입니까?
- 19. 델리게이트를 사용할 때 이벤트 전파를 중지하는 방법은 무엇입니까?
- 20. 속성을 비공개로 설정하는 방법은 무엇입니까?
- 21. 읽기 전용 속성을 통해 액세스 된 컬렉션을 매핑하는 방법은 무엇입니까?
- 22. JAXB 주석을 통해 XML 요소와 속성을 매핑하는 방법은 무엇입니까?
- 23. XAML에서 스타일을 통해 바인딩 속성을 설정하는 방법은 무엇입니까?
- 24. jQuery를 통해 CSS에서 div의 backgrount 속성을 제거하는 방법은 무엇입니까?
- 25. 인터뷰에서 델리게이트를 설명하는 방법
- 26. 조사하는 대신 & 단항 사용될 == 수
- 27. 클라이언트 측 WSAECONNABORTED를 조사하는 방법은 NVIDIA Quadro가있는 컴퓨터에서만 자주 발생합니까?
- 28. 웹 메소드 악용을 방지하는 좋은 방법은 무엇입니까?
- 29. Java에서 해당 메소드 내에서 메소드 이름을 찾는 방법은 무엇입니까?
- 30. Objective-C에서 프로토콜/델리게이트를 확장하는 방법
빠른 응답 주셔서 감사합니다. – djp