public static PropertyInfo GetRuntimeProperty(this Type type, string name)
 {
     RuntimeReflectionExtensions.CheckAndThrow(type);
     return(type.GetProperty(name));
 }
 public static EventInfo GetRuntimeEvent(this Type type, string name)
 {
     RuntimeReflectionExtensions.CheckAndThrow(type);
     return(type.GetEvent(name));
 }
 public static IEnumerable <FieldInfo> GetRuntimeFields(this Type type)
 {
     RuntimeReflectionExtensions.CheckAndThrow(type);
     return(type.GetFields(BindingFlags.Instance | BindingFlags.Static | BindingFlags.Public | BindingFlags.NonPublic));
 }
 public static MethodInfo GetRuntimeBaseDefinition(this MethodInfo method)
 {
     RuntimeReflectionExtensions.CheckAndThrow(method);
     return(method.GetBaseDefinition());
 }
 public static FieldInfo GetRuntimeField(this Type type, string name)
 {
     RuntimeReflectionExtensions.CheckAndThrow(type);
     return(type.GetField(name));
 }
 public static MethodInfo GetRuntimeMethod(this Type type, string name, Type[] parameters)
 {
     RuntimeReflectionExtensions.CheckAndThrow(type);
     return(type.GetMethod(name, parameters));
 }
 public static IEnumerable <PropertyInfo> GetRuntimeProperties(this Type type)
 {
     RuntimeReflectionExtensions.CheckAndThrow(type);
     return((IEnumerable <PropertyInfo>)type.GetProperties(BindingFlags.Instance | BindingFlags.Static | BindingFlags.Public | BindingFlags.NonPublic));
 }