public IL2Type GetClass(string name, string name_space, IL2BindingFlags flags) { IL2Type returnval = null; foreach (IL2Type type in GetClasses()) { if (type.Name.Equals(name) && (string.IsNullOrEmpty(type.Namespace) || type.Namespace.Equals(name_space)) && type.HasFlag(flags)) { returnval = type; break; } else { foreach (IL2Type nestedtype in type.GetNestedTypes()) { if (nestedtype.Name.Equals(name) && (string.IsNullOrEmpty(nestedtype.Namespace) || nestedtype.Namespace.Equals(name_space)) && nestedtype.HasFlag(flags)) { returnval = nestedtype; break; } } if (returnval != null) { break; } } } return(returnval); }
public IL2Type GetNestedType(string name, string name_space, IL2BindingFlags flags) { IL2Type returnval = null; foreach (IL2Type type in GetNestedTypes()) { if (type.Name.Equals(name) && (string.IsNullOrEmpty(type.Namespace) || type.Namespace.Equals(name_space)) && type.HasFlag(flags)) { returnval = type; break; } } return(returnval); }
public IL2Property GetProperty(string name, IL2BindingFlags flags) { IL2Property returnval = null; foreach (IL2Property prop in GetProperties()) { if (prop.Name.Equals(name) && prop.HasFlag(flags)) { returnval = prop; break; } } return(returnval); }
public IL2Field GetField(string name, IL2BindingFlags flags, Func <IL2Field, bool> func) { IL2Field returnval = null; foreach (IL2Field field in GetFields()) { if (field.Name.Equals(name) && field.HasFlag(flags) && ((func == null) || func(field))) { returnval = field; break; } } return(returnval); }
public IL2Method GetMethod(string name, IL2BindingFlags flags, Func <IL2Method, bool> func) { IL2Method returnval = null; foreach (IL2Method method in GetMethods()) { if (method.Name.Equals(name) && method.HasFlag(flags) && ((func == null) || func(method))) { returnval = method; break; } } return(returnval); }
public IL2Type GetNestedType(string name, IL2BindingFlags flags) => GetNestedType(name, null, flags);
public IL2Type[] GetNestedTypes(IL2BindingFlags flags) => GetNestedTypes().Where(x => ((x.GetFlags() & flags) != 0)).ToArray();
public IL2Property[] GetProperties(IL2BindingFlags flags) => GetProperties().Where(x => ((x.GetFlags() & flags) != 0)).ToArray();
public IL2Field GetField(string name, IL2BindingFlags flags) => GetField(name, flags, null);
public IL2Field[] GetFields(IL2BindingFlags flags, Func <IL2Field, bool> func) => GetFields().Where(x => (((x.GetFlags() & flags) != 0) && func(x))).ToArray();
public IL2Field[] GetFields(IL2BindingFlags flags) => GetFields(flags, null);
public IL2Method GetMethod(string name, IL2BindingFlags flags) => GetMethod(name, flags, null);
public IL2Method[] GetMethods(IL2BindingFlags flags) => GetMethods(flags, null);
public bool HasFlag(IL2BindingFlags flag) => ((GetFlags() & flag) != 0);
public IL2Type GetClass(string name, IL2BindingFlags flags) => GetClass(name, null, flags);
public IL2Type[] GetClasses(IL2BindingFlags flags) => GetClasses().Where(x => x.HasFlag(flags)).ToArray();