Type.FullName 字段的合理长度限制是多少?

Rob*_*sen 1 .net sql namespaces

我将在数据库字段中存储 Type.FullName,即“System.String”。将存储的类型名称是任意的,不受我的控制。类型名称的最大长度是多少?

编辑:我不会使用此信息来创建类型的实例,它仅用于过滤/排序/分组,因此仅存储 FullName 而不是 AssemblyQualifiedName 就可以了。

Jon*_*eet 5

我知道没有最大长度......所以你应该选择最大合理长度。像 256 这样的东西对于任何明智的事情都应该足够了,IMO。128可能是好的,但如果你有一个深层次的命名空间和长外的类名和长嵌套类的名字,我想这可能是一个真正的类型名称会超出128 ...

你确定没有程序集信息的类型名称吗?如果您需要能够使用类型获取类型,Type.GetType(string)您将需要程序集信息,除非它在当前执行的程序集或 mscorlib 中。显然,这为所涉及的字符串增加了相当长的长度......

编辑:如您的评论中所述,如果您使用构造的泛型类型,名称可能会很快变长。所以虽然typeof(List<>).FullName很短,但typeof(List<string>).FullName不是。

如果您要存储构造的泛型类型,则可能值得给出一个相当大的限制。不过,我希望在大多数情况下像 4096 这样的东西就足够了:)