当前位置:编程学习 > C#/ASP.NET >>

枚举,节构体,反射

public class CityEnum  

       public struct 北京 
        { 
            public enum 行政区 : int 
            { 
               // 市辖区 = 110100, 
                东城区 = 110101, 
                南汇区 = 310119 
            }; 
       } 
       public struct 上海 
        { 
            public enum 行政区 : int 
            { 
                //市辖区=310100, 
                黄浦区 = 310101, 
                南汇区 = 310119 
            }; 
        } 

现有一个方法 
public static Dictionary <int, string> GetEnumInfo( Type enumType ) 
            { 
                Dictionary <int, string> dic = new Dictionary <int, string>(); 
                try { 
                    string[] names = Enum.GetNames( enumType ); 
                    foreach( string n in names ) { 
                        dic.Add( (int) Enum.Parse( enumType, n ), n ); 
                    } 
                } catch( Exception ex ) { 
                    System.Diagnostics.Debug.WriteLine( ex.ToString() ); 
                } 
                return dic; 
            } 
以上是一个存储城市的类, 现在要动态的得到某城市的区域,这个怎么搞啊? 
以往是明确的点到一个城市,再来取其区域,如:GetEnumInfo( typeof( CityEnum.北京.行政区 ) ); 
现在就是 
CityEnum.北京.行政区中的北京没有写死,可能换成上海等, 
各位有没有什么好的办法啊? --------------------编程问答-------------------- 開了兩貼?復制過來接分^-^

            Assembly asm = typeof(CityEnum).Assembly;
            Type[] types = asm.GetTypes();
            //枚舉CityEnum類中所有的類型
            foreach (Type t in types)
            {
                //判斷是否為struct
                if (t.IsValueType && !t.IsPrimitive && !t.IsEnum)
                {
                    //運行到這裡的時候,t一定是struct.剩下的LZ可以自己弄了吧?
                }
            }
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,