【发布时间】:2011-01-08 07:50:27
【问题描述】:
我有一个从逗号分隔的文本文件中解析数据的类。我有一个字段枚举,可以帮助我更轻松地解析数据。解析所有记录的类为每个字段保存公共变量,当然还有它们的变量类型。我需要根据给定的枚举来获取这些变量的类型。
public enum DatabaseField : int
{
NumID1 = 1,
NumID2 = 2,
NumID3 = 3,
};
public class DataBaseRecordInfo
{
public long NumID1 { get; set; }
public int NumID2 { get; set; }
public short NumID3 { get; set; }
public static Type GetType(DatabaseField field)
{
Type type;
switch (field)
{
case DatabaseField.NumID1:
type = typeof(long);
break;
case DatabaseField.NumID2:
type = typeof(int);
break;
case DatabaseField.NumID3:
type = typeof(short);
break;
default:
type = typeof(int);
break;
}
return type;
}
};
NumID1、NumID2、NumID3 都在我的构造函数中分配。但是,我想在不创建DataBaseRecordInfo 的实例的情况下获得这些类型。现在我上面的静态方法可以工作,但是,如果我想改变变量类型,我必须在两个地方改变它。有没有办法避免在这两个地方都进行更改并将其保留为静态方法?
【问题讨论】:
-
我不明白这个问题。你能说清楚一点吗? “但是,我想在不创建 DataBaseRecordInfo 实例的情况下获得这些类型”——这是什么意思?
-
这意味着我有一些场景,我想要这些变量的类型,但不想实例化这个类来获取类型。