public MethodReference GetMethodReference(Stack<TypeDefinition> typeDefinitions, MethodDefinition methodDefinition)
{
try
{
var methodReference = moduleReader.Module.Import(methodDefinition).GetGeneric();
typeDefinitions.Pop();
while (typeDefinitions.Count > 0)
{
var definition = typeDefinitions.Pop();
methodReference = MakeGeneric(definition.BaseType, methodReference);
}
return methodReference;
}
catch (Exception exception)
{
throw new Exception(string.Format("Could not make method generic '{0}'.", methodDefinition.GetName()), exception);
}
}