我得到了一个类型,其全名是(如果有帮助的话):
"System.Collections.ObjectModel.ObservableCollection`1[[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]"
从该类型中,我想将 "System.Collections.ObjectModel.ObservableCollection"
作为字符串获取,但我想“干净地”进行,这意味着不拆分带有 char '`'
的字符串。
我认为策略是获得类似 Type 或 FullName 为 "System.Collections.ObjectModel.ObservableCollection"
的东西,但我真的做不到:/
最佳答案
“真正的”类型名称不是 System.Collections.ObjectModel.ObservableCollection
,而是 System.Collections.ObjectModel.ObservableCollection`1
,正如 VirtualBlackFox 正确提到的(因为是泛型,`1
表示泛型参数个数)。
您可以使用 type.Name
(提供 ObservableCollection`1
)和 type.Namespace
(提供 System .Collections.ObjectModel
).
并不是说您的类型很可能不是泛型类型,而是它的泛型参数规范 = string
。
您可以使用 type.GetGenericArguments()
获取参数类型(在您的情况下为 string
) .
关于c# - 从包含通用 ObservableCollection 的类型 (System.type) 中获取字符串 "System.Collections.ObjectModel.ObservableCollection"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8339271/