Tôi đã một MethodInfo thông qua vào một chức năng và tôi muốn làm như sauLàm thế nào để xác định xem một phương pháp là một trường hợp chung của một phương pháp chung
MethodInfo containsMethod = typeof(ICollection<>).GetMethod("Contains");
if (methodInfo.Equals(containsMethod)
{
// do something
}
Nhưng điều này không làm việc vì MethodInfo có một loại chung chung cụ thể. Ví dụ này không hoạt động nếu tôi biết rằng ICollection luôn là chuỗi kiểu.
MethodInfo containsMethod = typeof(ICollection<string>).GetMethod("Contains");
if (methodInfo.Equals(containsMethod)
{
// do something
}
Làm cách nào để kiểm tra xem MethodInfo có phải là kiểu ANY đã nhập của phương pháp chung mà không quan tâm loại đó là gì?
Cảm ơn.
EDIT: Câu hỏi làm rõ
Như một cách chính xác chỉ ra phương pháp này không phải là chung nhưng lớp chứa rất câu hỏi được thêm làm thế nào để tôi tìm hiểu xem MethodInfo là dành cho một loại mà là một ví dụ gõ của ICollection <>.
EDIT: bối cảnh nhiều hơn
Tôi viết một nhà cung cấp LINQ và cố gắng để xử lý "trong" trường hợp
IList<string> myList = new List<string>{ "1", "2" };
from Something s in ...
where myList.Contains(s.name)
select s;
IMO đơn giản và rõ ràng nhất, cảm ơn. –