gpt4 book ai didi

c# - 获取没有任何泛型信息的类型名称

转载 作者:IT王子 更新时间:2023-10-29 04:38:03 26 4
gpt4 key购买 nike

如果我写:

var type = typeof(List<string>);
Console.WriteLine(type.Name);

它将写:

List`1

我希望它只写:

List

我该怎么做?有没有更聪明的方法来做到这一点而不必使用 Substring 或类似的字符串操作函数?

最佳答案

不,在名称中包含通用元数是非常有意义的 - 因为它是使名称唯一的部分(当然还有程序集和命名空间)。

这样说: System.Nullable System.Nullable<T> 是非常不同的类型。预计您不会想混淆这两者...因此,如果您丢失信息,您将不得不努力做到这一点。当然,这并不难,可以放在辅助方法中:

public static string GetNameWithoutGenericArity(this Type t)
{
string name = t.Name;
int index = name.IndexOf('`');
return index == -1 ? name : name.Substring(0, index);
}

然后:

var type = typeof(List<string>);
Console.WriteLine(type.GetNameWithoutGenericArity());

关于c# - 获取没有任何泛型信息的类型名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6386202/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com