我该如何工作?

switch(property.PropertyType){
    case typeof(Boolean):
        //doStuff
        break;
    case typeof(String):
        //doOtherStuff
        break;
    default: break;
}

我不想使用该名称,因为类型的字符串比较非常糟糕,并且可能会发生变化。

最佳答案

        System.Type propertyType = typeof(Boolean);
        System.TypeCode typeCode = Type.GetTypeCode(propertyType);
        switch (typeCode)
        {
            case TypeCode.Boolean:
                //doStuff
                break;
            case TypeCode.String:
                //doOtherStuff
                break;
            default: break;
        }

您可以对TypeCode.Object使用混合方法,如果使用typeof,则可以在其中进行动态处理。这非常快,因为对于第一部分-开关-编译器可以根据查找表进行决定。

07-24 21:32