Ejemplo n.º 1
0
        static public List <Tuple <string, int> > GetList(Type _type)
        {
            var result = new List <Tuple <string, int> >();

            try
            {
                Assembly    assembly = Assembly.GetExecutingAssembly();
                List <Type> types    = assembly.GetTypes().Where(t => (_type.IsAssignableFrom(t))).ToList();
                foreach (Type info1 in types)
                {
                    FieldInfo[] field = info1.GetFields();
                    foreach (FieldInfo Info2 in field)
                    {
                        if (_type.IsEnum)
                        {
                            if (Info2.Name != "value__")
                            {
                                var ulngValue = (int)Convert.ChangeType(Info2.GetValue(null), typeof(int));
                                result.Add(Tuple.Create(Info2.Name, ulngValue));
                            }
                        }
                        else
                        {
                            var ulngValue = (int)Convert.ChangeType(Info2.GetValue(null), typeof(int));
                            result.Add(Tuple.Create(Info2.Name, ulngValue));
                        }
                    }
                }
            }
            catch (Exception _e)
            {
                Log.ShowMessage("Expection", _e.Message);
            }
            return(result);
        }
Ejemplo n.º 2
0
        static public List <string> GetList(Type _type, string _field = "")
        {
            var result = new List <string>();

            try
            {
                Assembly    assembly = Assembly.GetExecutingAssembly();
                List <Type> types    = assembly.GetTypes().Where(t => (_type.IsAssignableFrom(t))).ToList();

                foreach (Type info1 in types)
                {
                    FieldInfo[] field = info1.GetFields();
                    int         i     = 0;
                    foreach (FieldInfo Info2 in field)
                    {
                        if (_field == "string")
                        {
                            if (Info2.FieldType == typeof(string))
                            {
                                dynamic dynamic = Info2.GetValue(_type);
                                if (!String.IsNullOrWhiteSpace(dynamic))
                                {
                                    result.Add(dynamic);
                                }
                            }
                        }
                        else if (_field == "")
                        {
                            if (Info2.Name != "value__")
                            {
                                dynamic dynamic = Info2.GetValue(_type);
                                result.Add(dynamic);
                            }
                        }
                    }
                }
            }
            catch (Exception _e)
            {
                Log.ShowMessage("Expection", _e.Message);
            }
            return(result);
        }