나는 방법을 원하지만 거기에 하나 이상의 과부하가 있습니다. 예를 들어 객체에서 나는 '같음'을 얻으려고했다. typeof(Object).GetMethod("Equals")
를 작성반사 GetMethod. 더 구체적인 방법을 선택
public virtual bool Equals(object obj);
public static bool Equals(object objA, object objB);
를 사용하는 경우 typeof(Object).GetMethod("public virtual bool Equals(object obj)")
날 널 가지고, 쓰기, 나에게 예외를 얻었다. 이 경우 원하는 방법을 어떻게 지정할 수 있습니까?
아 하! 나는 오버로드를 시도하고 BindingFlags.Instance 만 사용했습니다. 왜 내가 널 (그리고 BindingFlags.Public뿐만 아니라 생각없이) 시도했는지 궁금해. 한 메서드가 메서드를 재정의하는지 확인하여이 메서드를 비교하려고하고 false가 표시되는지 확인하려고합니다. "같음"이 기본과 동일하거나 무시 된 것인지 확인할 수있는 방법이 있습니까? - 편집 - 가난한하지만 쓸만한 쓰기를 시도하고 있습니다. 반사로 비교하십시오. –
@ acidzombie24 : 솔직히 말해서, 나는 확신하지 못합니다. 아마도이 클래스에서 선언 된 메서드를 얻은 다음 기본 클래스에서 선언 된 메서드를 사용하여 해당 메서드가 같은지 여부를 확인할 수 있다고 생각하지만 확실하지 않습니다. –
나는 그들을 비교할 수있을 것 같아 보이지만 나는 .GetBaseDefinition() 그래서 내가 무엇을했는지는베이스에있는 메소드로 이것을 호출했다. 그리고 그 중 하나가 재정의되었는지 알 수있다. –