C# 获取数据类型的全名

C# 获取数据类型的全名,c#,.net,reflection,C#,.net,Reflection,我在代码中得到了一个数据类型“int32”,然而,我实际上需要的是全名“integer”。这可能吗 以下是数据类型的代码: public static List<Parameter> GetParameterMembers(Type parameterType) { var parameterList = new List<Parameter>(); var returnTypeFields = parameterType.IsArray ? ((Typ

我在代码中得到了一个数据类型“int32”,然而,我实际上需要的是全名“integer”。这可能吗

以下是数据类型的代码:

public static List<Parameter> GetParameterMembers(Type parameterType)
{
    var parameterList = new List<Parameter>();

    var returnTypeFields = parameterType.IsArray ? ((TypeInfo)parameterType.GetElementType()).DeclaredFields : ((TypeInfo)parameterType).DeclaredFields;

    returnTypeFields.ToList().ForEach(item =>
    {
        if (item.MemberType != MemberTypes.Field) return;

        parameterList.Add(new Parameter
        {
            Name = item.Name,
            Parameters = item.FieldType.IsClass && !IsNativeType(((FieldInfo)item).FieldType) ? GetParameterMembers(((FieldInfo)item).FieldType) : new List<Parameter>(),
            DataType = item.FieldType.Name
        });
    });

    return parameterList;
}
公共静态列表GetParameterMembers(类型parameterType)
{
var参数List=新列表();
var returnTypeFields=parameterType.IsArray?((TypeInfo)parameterType.GetElementType()).DeclaredFields:((TypeInfo)parameterType).DeclaredFields;
returnTypeFields.ToList().ForEach(项=>
{
if(item.MemberType!=MemberTypes.Field)返回;
参数列表。添加(新参数
{
名称=项。名称,
Parameters=item.FieldType.IsClass&!IsNativeType(((FieldInfo)item).FieldType)?GetParameterMembers(((FieldInfo)item).FieldType):新建列表(),
数据类型=item.FieldType.Name
});
});
返回参数列表;
}

你必须自己绘制地图并翻译。最接近“Integer”的是vb数据类型,它是“系统可以处理的最大比特率int”的缩写,类似于c#

中的“int”,在.NET中没有名为“Integer”的内置数据类型。为什么需要“全名”—我想这意味着你没有告诉我们更多的上下文。这是否相关:
integer
不是.NET类型,甚至不是C#数据类型。如果要获取本机数据类型,则将获取“int”,而不是“integer”。如果您运行的是VB代码,那么您可能有理由获取“整数”,但无论如何这都没有意义,因为VB和C代码都被编译为相同的IL代码,即使它知道您的VB或C源代码,它也不知道您在原始代码中使用的是.NET类型还是本机别名。正如@doctorlove所建议的,解释你想要实现什么,而不是如何实现。不清楚你在问什么,
Int16
Int64
的全名是什么?它们还是整数吗?谢谢你@Davesoft