Esempio n. 1
0
 /// <summary>
 ///  Finds all Extension methods defined by a type
 /// </summary>
 /// <param name="extending_type"></param>
 /// <returns></returns>
 public static IEnumerable<ExtensionMethodRecord> EnumExtensionMethods(System.Type extending_type)
 {
     var ext_methods = extending_type.GetMethods().Where(IsExtensionMethod).ToList();
     foreach (var ext_method in ext_methods)
     {
         var first_param = ext_method.GetParameters()[0];
         var extended_type = first_param.ParameterType;
         var rec = new ExtensionMethodRecord(extending_type, extended_type, ext_method);
         yield return rec;
     }
 }
Esempio n. 2
0
        /// <summary>
        ///  Finds all Extension methods defined by a type
        /// </summary>
        /// <param name="extending_type"></param>
        /// <returns></returns>
        public static IEnumerable <ExtensionMethodRecord> EnumExtensionMethods(System.Type extending_type)
        {
            var ext_methods = extending_type.GetMethods().Where(IsExtensionMethod).ToList();

            foreach (var ext_method in ext_methods)
            {
                var first_param   = ext_method.GetParameters()[0];
                var extended_type = first_param.ParameterType;
                var rec           = new ExtensionMethodRecord(extending_type, extended_type, ext_method);
                yield return(rec);
            }
        }