枚举,节构体,反射
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