Como uso a reflexão para chamar um método genérico?
Qual é a melhor maneira de chamar um método genérico quando o parâmetro type não é conhecido no tempo de compilação, mas é obtido dinamicamente no tempo de execução?
Considere o seguinte código de amostra - dentro doExample()
método, qual é a maneira mais concisa de invocarGenericMethod<T>()
usando oType
armazenado nomyType
variável?
public class Sample
{
public void Example(string typeName)
{
Type myType = FindType(typeName);
// What goes here to call GenericMethod<T>()?
GenericMethod<myType>(); // This doesn't work
// What changes to call StaticMethod<T>()?
Sample.StaticMethod<myType>(); // This also doesn't work
}
public void GenericMethod<T>()
{
// ...
}
public static void StaticMethod<T>()
{
//...
}
}