c# - 如何获得具有友好名称(字符串)的类型(类型对象)?
问题描述
例如,我想要一个方法来获取typeof(int)
from "int"
、typeof(List<int>)
from "List<int>"
、typeof(Dictionary<string, int>)
from"Dictionary<string,int>"
等。
如果友好名称在调用上下文中不明确,则可以抛出异常或简单地返回 null。
我可以使用字典来存储所有内置友好类型的映射,但是手动映射每个具体的泛型类型太复杂了。我找不到一种方法来建立我可能需要的所有友好名称。
C# 中是否有一些“eval”方法,就像在某些脚本语言中一样?也就是说,我可以简单地typeof
使用友好名称作为输入运行并获取Type
对象引用作为返回值?
解决方案
您可以使用.GetType().Name简单地获取对象的类型。
T.GetType().Name // class name, no namespace
T.GetType().FullName // namespace and class name
T.GetType().Namespace // namespace, no class name
推荐阅读
- xml - 如何使用 XSLT 添加子元素?
- flutter - 摆脱 Flutter 中的黄黑线
- python - 如何在 Tensorflow 1.x 中的训练期间打印值
- windows - 在 winfoms 中添加广告组成员
- java - 上下文中 Spark 作业的实际运行时间
- firebase - Cloud_firestore 0.14.* 升级后 Firestore 模拟器无法正常工作
- python - 访问字典中的字典 | 雅虎财经导入
- spring - Spring WebFlux 相当于 getFirstHeader
- python - Python日期格式转换
- wpf - 自定义面板上的多个画布层