Всем привет. Есть такой код
public T Replace<T> () where T : BaseScreen
{
// TODO
}
public T Push<T>(T screen = null) where T : BaseScreen
{
//TODO
}
public T Push<T>(string screenName) where T : BaseScreen
{
//TODO
}
Я понимаю как получить метод Replace :
var method = typeof(Navigator).GetMethod(nameof(Replace), BindingFlags.Instance | BindingFlags.Public);
var genericMethod = method.MakeGenericMethod(typeScreen);
Метод Push получающий строку получить так же просто :
var method = typeof(Navigator).GetMethod(nameof(Push), BindingFlags.Instance | BindingFlags.Public, null, CallingConventions.Any,new Type[] {typeof(string)}, null);
var genericMethod = method.MakeGenericMethod(typeScreen);
Но как нам получить метод Push принимающий T ?