Tôi có loại này có chứa hai quá tải của một phương pháp chung. Tôi muốn lấy một trong những quá tải (với tham số Func<T>
) bằng cách sử dụng sự phản chiếu. Tuy nhiên, vấn đề là tôi không thể tìm thấy kiểu tham số chính xác để cung cấp phương thức Type.GetMethod(string, Type[])
với.Lấy MethodInfo của quá tải chính xác của một phương pháp chung
Dưới đây là định nghĩa lớp của tôi:
public class Foo
{
public void Bar<T>(Func<T> f) { }
public void Bar<T>(Action<T> a) { }
}
Và đây là những gì tôi đã đưa ra, không may mà không succes:
[TestMethod]
public void Test1()
{
Type parameterType = typeof(Func<>);
var method = typeof(Foo).GetMethod("Bar", new Type[] { parameterType });
Assert.IsNotNull(method); // Fails
}
Làm thế nào tôi có thể nhận được MethodInfo
của một phương pháp chung của mà tôi biết các thông số?
Thật tuyệt vời.Hoạt động tuyệt vời! Và quá ít mã. – Anne