c# - 如何查看类型参数的实际运行类型?

标签 c# .net generics

假设我有这样的代码

       public bool ProcessChangeRequest(ChangeRequest cr, ChangeCommitted cc)
        {
        DbObject.AssertDirectAccessToDatabase();
        SeqlDatabase<ContextT>.CheckObjectType(cr, typeof(ConfigT));
        return SeqlDatabase<ContextT>.Instance.TryUpdate(delegate()
           {
               SeqlDatabase<ContextT>.UpdateModification(cr);
                  .....

调试时,如何查看 ContextT 的实际类型?

最佳答案

我假设当您处于断点时 ContextT 在范围内。

有几种方法可以做到这一点,一种是将鼠标悬停在 ContextT 代码的引用上并检查变量 - 我个人觉得该对话框有点令人费解。

我个人打开即时窗口并输入:

? ContextT.GetType().FullName

请注意,GetType() 将为您提供更多信息,但 FullName 属性可确保您只获取一行,而不是数十个不相关的属性!

typeof(ContextT) 与 .GetType() 的效果大致相同(至少在本例中是这样)。

关于c# - 如何查看类型参数的实际运行类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27360734/

相关文章:

c# - 如何为 'float method' 返回 null - 错误处理

c# - 编译器错误消息: CS0246: The type or namespace name could not be found

c# - 从 C# 执行网络用户命令

c# - 如何在 C# 中实现 SOAP 客户端(专门针对 Windows Mobile)?

c# - 从缓存中延迟加载对象图部分的推荐模式

c# - 创建一个与类属性具有相同类型的列表

c# - mono(c#) 检测用户是否在同一网络上

c# - 如何使用 C# 发送 SNMP 陷阱?

采用泛型类型参数的 Java 生成类

c# 将类型传递给子类