예제 #1
0
        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));
        }
예제 #2
0
        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));
        }
예제 #3
0
 public static MethodReference GetMethodReference <TFrom>(this ModuleDefinition module,
                                                          string methodName, ParameterPredicate singlePredicate = null)
 {
     return(module.GetMethodReference(typeof(TFrom), methodName, singlePredicate));
 }