public static Assembly AssemblyByName(string name) => Safe.Run(() => Assembly.Load(name), null);
public static List <Type> TypesForAssembly(string assemblyName) => Safe.Run(() => { var a = AssemblyByName(assemblyName); return(a.GetTypes().ToList()); }, new List <Type>());
public static PropertyInfo Property <T>(Expression <Func <T, object> > ex) { var name = GetMember.Name(ex); return(Safe.Run(() => typeof(T).GetProperty(name), null)); }
public static PropertyInfo Property <T>(string name) => Safe.Run(() => typeof(T).GetProperty(name), null);
public static int Count(Type type) => Safe.Run(() => Enum.GetValues(type).Length, -1);
public static T Value <T>(int i) => Safe.Run(() => (T)Value(typeof(T), i), default(T));
public static object Value(Type type, int i) => Safe.Run(() => { var v = Enum.GetValues(type); return(v.GetValue(i)); }, null);