Example #1
0
 public static IEnumerable <ConstructorInfoEx> GetConstructorsEx(this Type type, BindingFlags bindingFlags = PUBLIC_ISTANCE_STATIC, bool enableCaching = true)
 {
     if (enableCaching)
     {
         return(ConstructorInfoExCache.GetConstructorsEx(type, bindingFlags));
     }
     else
     {
         return(type.GetConstructors(bindingFlags).Select(x => new ConstructorInfoEx(x, false)));
     }
 }
Example #2
0
 public static IEnumerable <ConstructorInfoEx> GetConstructorsEx(this Type type, BindingFlagsEx bindingFlags, bool enableCaching = true)
 {
     if (enableCaching)
     {
         return(ConstructorInfoExCache.GetConstructorsExDic(type, (BindingFlags)bindingFlags).Values);
     }
     else
     {
         return(type.GetConstructors((BindingFlags)bindingFlags).Select(x => new ConstructorInfoEx(x, false)));
     }
 }
Example #3
0
 public static ConstructorInfoEx GetConstructorEx(this ConstructorInfo constructorInfo, bool enableCaching = true)
 {
     if (enableCaching)
     {
         return(ConstructorInfoExCache.GetConstructorEx(constructorInfo));
     }
     else
     {
         return(new ConstructorInfoEx(constructorInfo, false));
     }
 }
Example #4
0
 public static IReadOnlyDictionary <string, ConstructorInfoEx> GetConstructorsExDic(this Type type, BindingFlags bindingFlags = PUBLIC_ISTANCE_STATIC, bool enableCaching = true)
 {
     if (enableCaching)
     {
         return(ConstructorInfoExCache.GetConstructorsExDic(type, bindingFlags));
     }
     else
     {
         return(new ReadOnlyDictionary <string, ConstructorInfoEx>(
                    type.GetConstructors(bindingFlags).ToDictionary(x => x.Name, x => new ConstructorInfoEx(x, false))));
     }
 }
Example #5
0
 public static ConstructorInfoEx GetConstructorEx(this Type type, IEnumerable <Type> signature, BindingFlags bindingFlags = PUBLIC_ISTANCE_STATIC, bool enableCaching = true)
 {
     if (enableCaching)
     {
         return(ConstructorInfoExCache.GetConstructorEx(type, signature, bindingFlags));
     }
     else
     {
         var f = type.GetConstructor(bindingFlags, null, signature?.ToArray() ?? Type.EmptyTypes, null);
         if (f == null)
         {
             return(null);
         }
         return(new ConstructorInfoEx(f, false));
     }
 }