我目前正在将一些代码从 Java 移植到 C#。
我遇到了一个在 Java 中不太难的代码问题:
public static Object getJavaDataType(DataType dataType) {
switch (dataType) {
case Boolean:
return Boolean.class;
case Date:
return java.util.Date.class;
case Integer:
return Integer.class;
case String:
return String.class;
default:
return null;
}
}
我在将其翻译成 C# 时遇到了困难。到目前为止,我的最大努力看起来与此类似:
public static Type getJavaDataType(DataType dataType) {
if(dataType == BooleanType){
return Type.GetType("Boolean");
} else if ...
因此,我设法处理了将 Enum 转换为公共密封类的事实:
public sealed class DataType
{
public static readonly DataType BooleanType = new DataType(); ...
但是类型代码对我来说看起来不正确(真的必须由 String 指定吗?)。有人知道这个功能的更优雅的实现吗?