public static MethodReference GetCtorReference <TFrom>(this ModuleDefinition module, ParameterPredicate singlePredicate = null) { var method = typeof(TFrom).GetConstructors() .Single(m => singlePredicate == null || singlePredicate(m.GetParameters())); return(module.ImportReference(method)); }
public static MethodReference GetMethodReference(this ModuleDefinition module, Type from, string methodName, ParameterPredicate singlePredicate = null) { var method = from.GetMethods() .Where(m => m.Name == methodName) .Single(m => singlePredicate == null || singlePredicate(m.GetParameters())); return(module.ImportReference(method)); }
public static MethodReference GetMethodReference <TFrom>(this ModuleDefinition module, string methodName, ParameterPredicate singlePredicate = null) { return(module.GetMethodReference(typeof(TFrom), methodName, singlePredicate)); }