没有汇编信息的generics类型的FullName?

我有一个数据库表,我存储窗口的高度,宽度,状态等。 作为窗口的标识符,我使用表单的完整类型名称。 它运作良好,但我发现一些通用的表单会获得非常长的名称。 原因是generics类型列出了完整的汇编信息。 有没有办法跳过它?

例如,常规表单的全名如下所示:

Some.Name.Space.NameOfForm 

但是通用表单的全名如下所示:

 Some.Name.Space.NameOfForm`1[[Some.Other.Name.Space.GenericType, AssemblyName, Version=1.0.2.0, Cuntulre=neutral, PublicKeyToken=null]] 

为什么这么久? 有没有办法可以获得更短的版本? 例如:

 Some.Name.Space.NameOfForm`1[[Some.Other.Name.Space.GenericType]] 

有什么线索吗?

我同意dbemerlin的说法,你的最终目标似乎很奇怪,但我只想指出这一点

 GetType().ToString(); 

似乎返回了typename的较短版本(没有generics参数的汇编信息)。

我想这对于类型名称的更易读的版本来说可能很方便。

我想用于generics类的Type依赖于特定的程序集(就像大多数.NET类一样)所以我认为如果不通过reflection或字符串解析手动创建此字符串,您将不会得到任何其他内容。

OTOH我不认为使用类型名称作为键是一个好主意,也许你应该考虑获得一些其他键(但我不知道要求,所以我不能推荐别的东西)