Tôi có một MethodInfo
của một phương pháp giao diện và Type
của một lớp mà thực hiện giao diện . Tôi muốn tìm MethodInfo
của phương thức lớp thực hiện phương thức giao diện.Làm thế nào để có được MethodInfo của phương thức giao diện, khi thực hiện MethodInfo của phương thức lớp?
Đơn giản method.GetBaseDefinition()
không hoạt động với các phương thức giao diện. Tra cứu theo tên sẽ không hoạt động, bởi vì khi thực hiện phương thức giao diện rõ ràng nó có thể có bất kỳ tên nào (có, không phải trong C#).
Vì vậy, cách chính xác cách thực hiện điều đó bao gồm tất cả các khả năng là gì?
Bạn không thể khớp với tên. Tên không cần phải khớp. Đó là quy tắc C#, các ngôn ngữ khác (VB) cho phép bạn đặt tên cho các phương thức ghi đè bất cứ thứ gì bạn thích. –
Mẫu của tôi ở trên không khớp với tên, nó khớp với phương thức Equals trên MethodInfo. Tôi đã chỉ có nghĩa là bạn sẽ cần phải kiểm tra lại rằng MethodInfo.Equals vẫn xem xét hai trường hợp bằng nhau nếu chúng chỉ thay đổi theo tên. –
Phải, xin lỗi, nhưng mã của bạn vẫn không làm những gì tôi cần. Nó sẽ không cung cấp cho tôi thông tin về phương thức của lớp - nó sẽ cung cấp cho tôi thông tin về phương thức của giao diện. Bạn chỉ khẳng định rằng lớp thực hiện giao diện. –