示例#1
0
        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);
        }
示例#2
0
        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);
        }
示例#3
0
        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);
        }
示例#4
0
        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);
        }
示例#5
0
        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);
        }
示例#6
0
 public IL2Type GetNestedType(string name, IL2BindingFlags flags) => GetNestedType(name, null, flags);
示例#7
0
 public IL2Type[] GetNestedTypes(IL2BindingFlags flags) => GetNestedTypes().Where(x => ((x.GetFlags() & flags) != 0)).ToArray();
示例#8
0
 public IL2Property[] GetProperties(IL2BindingFlags flags) => GetProperties().Where(x => ((x.GetFlags() & flags) != 0)).ToArray();
示例#9
0
 public IL2Field GetField(string name, IL2BindingFlags flags) => GetField(name, flags, null);
示例#10
0
 public IL2Field[] GetFields(IL2BindingFlags flags, Func <IL2Field, bool> func) => GetFields().Where(x => (((x.GetFlags() & flags) != 0) && func(x))).ToArray();
示例#11
0
 public IL2Field[] GetFields(IL2BindingFlags flags) => GetFields(flags, null);
示例#12
0
 public IL2Method GetMethod(string name, IL2BindingFlags flags) => GetMethod(name, flags, null);
示例#13
0
 public IL2Method[] GetMethods(IL2BindingFlags flags) => GetMethods(flags, null);
示例#14
0
 public bool HasFlag(IL2BindingFlags flag) => ((GetFlags() & flag) != 0);
示例#15
0
 public IL2Type GetClass(string name, IL2BindingFlags flags) => GetClass(name, null, flags);
示例#16
0
 public IL2Type[] GetClasses(IL2BindingFlags flags) => GetClasses().Where(x => x.HasFlag(flags)).ToArray();