我有一个从逗号分隔文本文件中解析数据的类。我有一个枚举用于帮助我更容易地解析数据字段。解析所有记录的类包含每个字段的公共变量,当然还有它们的变量类型。我需要根据给定的枚举获取这些变量的类型。
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
实例的情况下获取这些类型。目前,我的上面的静态方法可以工作,但是,如果我想要更改变量类型,我就必须在两个地方进行更改。有没有办法避免在两个地方进行更改,并将其保留为静态方法?