C# 泛型类型声明

2023-12-05

是否可以获取通过反射获得的类型的“c# 名称”,例如:

System.Collections.Generic.List`1[[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]

我想得到:

List<String>

是否可以不拆分字符串?例如,使用反射。

Thanks!


不是直接的,但您可以检查类型本身来弄清楚。

public static string TypeName(Type t) {
    if (!t.IsGenericType) return t.Name;

    StringBuilder ret = new StringBuilder();
    ret.Append(t.Name).Append("<");

    bool first = true;
    foreach(var arg in t.GetGenericArguments()) {
        if (!first) ret.Append(", ");
        first = false;

        ret.Append(TypeName(arg));
    }

    ret.Append(">");
    return ret.ToString();
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C# 泛型类型声明 的相关文章

  • 如何在没有 Control.Invoke() 的情况下从后台线程修改控件属性

    最近 我们遇到了一些旧版 WinForms 应用程序 我们需要更新一些新功能 在专家测试该应用程序时 发现一些旧功能被破坏 无效的跨线程操作 现在 在您认为我是新手之前 我确实有一些 Windows 窗体应用程序的经验 我不是专家 但我认为
  • 嵌入式系统中的malloc [重复]

    这个问题在这里已经有答案了 我正在使用嵌入式系统 该应用程序在 AT91SAMxxxx 和 cortex m3 lpc17xxx 上运行 我正在研究动态内存分配 因为它会极大地改变应用程序的外观 并给我更多的力量 我认为我唯一真正的路线是为
  • Cygwin 下使用 CMake 编译库

    我一直在尝试使用 CMake 来编译 TinyXML 作为一种迷你项目 尝试学习 CMake 作为补充 我试图将其编译成动态库并自行安装 以便它可以工作 到目前为止 我已经设法编译和安装它 但它编译成 dll 和 dll a 让它工作的唯一
  • 使用 Microsoft Graph API 订阅 Outlook 推送通知时出现 400 错误请求错误

    我正在尝试使用 Microsoft Graph API 创建订阅以通过推送通知获取 Outlook 电子邮件 mentions 我在用本文档 https learn microsoft com en us graph api subscri
  • 如何在我的应用程序中使用 Windows Key

    Like Windows Key E Opens a new Explorer Window And Windows Key R Displays the Run command 如何在应用程序的 KeyDown 事件中使用 Windows
  • 为什么禁止在 constexpr 函数中使用 goto?

    C 14 对你能做什么和不能做什么有规则constexpr功能 其中一些 没有asm 没有静态变量 看起来相当合理 但标准也不允许goto in constexpr功能 即使它允许其他控制流机制 这种区别背后的原因是什么 我以为我们已经过去
  • C# 中值类型和引用类型有什么区别? [复制]

    这个问题在这里已经有答案了 我知道一些差异 值类型存储在堆栈上 而引用类型存储在托管堆上 值类型变量直接包含它们的值 而引用变量仅包含对托管堆上创建的对象位置的引用 我错过了任何其他区别吗 如果是的话 它们是什么 请阅读 堆栈是一个实现细节
  • 将字符串从非托管代码传递到托管

    我在将字符串从非托管代码传递到托管代码时遇到问题 在我的非托管类中 非托管类 cpp 我有一个来自托管代码的函数指针 TESTCALLBACK FUNCTION testCbFunc TESTCALLBACK FUNCTION 接受一个字符
  • 如何在 WPF RichTextBox 中跟踪 TextPointer?

    我正在尝试了解 WPF RichTextBox 中的 TextPointer 类 我希望能够跟踪它们 以便我可以将信息与文本中的区域相关联 我目前正在使用一个非常简单的示例来尝试弄清楚发生了什么 在 PreviewKeyDown 事件中 我
  • c 中的错误:声明隐藏了全局范围内的变量

    当我尝试编译以下代码时 我收到此错误消息 错误 声明隐藏了全局范围内的变量 无效迭代器 节点 根 我不明白我到底在哪里隐藏或隐藏了之前声明的全局变量 我怎样才能解决这个问题 typedef node typedef struct node
  • 在 ASP.Net Core 2.0 中导出到 Excel

    我曾经使用下面的代码在 ASP NET MVC 中将数据导出到 Excel Response AppendHeader content disposition attachment filename ExportedHtml xls Res
  • 使用向量的 merge_sort 在少于 9 个输入的情况下效果很好

    不知何故 我使用向量实现了合并排序 问题是 它可以在少于 9 个输入的情况下正常工作 但在有 9 个或更多输入的情况下 它会执行一些我不明白的操作 如下所示 Input 5 4 3 2 1 6 5 4 3 2 1 9 8 7 6 5 4 3
  • 使用安全函数在 C 中将字符串添加到字符串

    我想将文件名复制到字符串并附加 cpt 但我无法使用安全函数 strcat s 来做到这一点 错误 字符串不是空终止的 我确实设置了 0 如何使用安全函数修复此问题 size strlen locatie size nieuw char m
  • Windows 窗体不会在调试模式下显示

    我最近升级到 VS 2012 我有一组在 VS 2010 中编码的 UI 测试 我试图在 VS 2012 中启动它们 我有一个 Windows 窗体 在开始时显示使用 AssemblyInitialize 属性运行测试 我使用此表单允许用户
  • 使用 LINQ 查找列表中特定类型的第一个元素

    使用 LINQ 和 C 在元素列表中查找特定类型的第一个项目的最短表示法是什么 var first yourCollection OfType
  • C 中的位移位

    如果与有符号整数对应的位模式右移 则 1 vacant bit will be filled by the sign bit 2 vacant bit will be filled by 0 3 The outcome is impleme
  • 如何在内存中存储分子?

    我想将分子存储在内存中 这些可以是简单的分子 Methane CH4 C H bond length 108 7 pm H H angle 109 degrees But also more complex molecules like p
  • 如何使用 ReactiveList 以便在添加新项目时更新 UI

    我正在创建一个带有列表的 Xamarin Forms 应用程序 itemSource 是一个reactiveList 但是 向列表添加新项目不会更新 UI 这样做的正确方法是什么 列表定义 listView new ListView var
  • 如何在 C# 中播放在线资源中的 .mp3 文件?

    我的问题与此非常相似question https stackoverflow com questions 7556672 mp3 play from stream on c sharp 我有音乐网址 网址如http site com aud
  • 将变量分配给另一个变量,并将一个变量的更改反映到另一个变量中

    是否可以将一个变量分配给另一个变量 并且当您更改第二个变量时 更改会瀑布式下降到第一个变量 像这样 int a 0 int b a b 1 现在 b 和 a 都 1 我问这个问题的原因是因为我有 4 个要跟踪的对象 并且我使用名为 curr

随机推荐

  • PHP $_SESSION 实现

    有谁知道 PHP 如何将会话 ID 映射到 SESSION 数组 换句话说 给定会话 ID x PHP 从哪里提取值来填充 SESSION 数组 给定会话 ID 及其来源的 url 是否有人能够访问 SESSION 数组中的值 默认情况下
  • 如何在不将用户发送到页面顶部的情况下触发 javascript Playsound 事件 onclick?

    我的网站页面上有以下代码 当用户单击图像时会播放声音 span span div a href a div
  • 如何在react-native中从Firestore读取子集合的文档字段

    尝试从反应本机项目中的 Firebase 的 Firestore 的根级集合内的文档中读取所有子集合 不太确定要遵循哪个文档 网络无法做到getCollections 节点 Firebase 已导入 我已成功从 firestore 检索其他
  • 使用 GO 命令时 Transact-SQL 事务回滚无法正常工作

    我有一个用 Transact SQL 编写的迁移脚本 它使用事务 以便在执行过程中出现问题时进行正确的回滚 不幸的是 当我在脚本中使用一些 GO 实用程序语句时 这种回滚行为无法按预期工作 可以使用简单的脚本重现该问题 BEGIN TRAN
  • C# 中 &= 运算符的作用是什么? [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 C 中 运算符的作用是什么 例如 bool appro
  • 如何使管道与 Runtime.exec() 一起工作?

    考虑以下代码 String commandf ls etc grep release try Execute the command and wait for it to complete Process child Runtime get
  • 在 browser_action Chrome 扩展程序中设置当前选项卡的 window.location.href

    我正在尝试将当前选项卡导航到 browser action Chrome 扩展程序中的 URL 以响应用户输入的关键字 最好的方法是什么 首先 我尝试使用 javascript 编写一个简单的表单 但我意识到 javascript 没有在当
  • 如何正确地将 char * 从非托管 DLL 返回到 C#?

    函数签名 char errMessage int err 我的代码 DllImport api dll internal static extern char errMessage int err char message errMessa
  • 在facet_grid ggplot上强制x轴标签:x轴标签每行不同

    我很高兴在帖子中找到了我的问题的大部分解决方案 强制为facet grid 图的所有方面启用X 轴文本 我想创建一个看起来有点像 OP Drew Steen 的图表 除了我有两行以上的面 并且我想让每行的 x 轴标签不同 我从 baptis
  • Linux ALSA/声音 API 问题 - 如何静音?

    如何使用 C 语言静音 有ALSA函数调用吗 是否有任何其他函数调用 API 可以使麦克风静音 我已经编写了一些代码来使用 ALSA 进行音频播放 并且我注意到声音开始播放之前有延迟 如何减少声音播放的延迟或延迟 x include
  • 将字符串转换为整数

    我的代码需要帮助 我只想在文本框中写入数字 整数 并希望将其显示在列表框中 我下面的代码顺序正确吗 这似乎给出了一个错误 int yourInteger string newItem newItem textBox1 Text Trim i
  • Google 表格查询合并?

    是否有任何查询语法类似于谷歌表格中的合并 如果我有如下图所示的来源 我想要的结果是仅在状态为 true 时获取 id 和时间 但时间仅存在于一个列中检查栏 or 报告栏 所以结果会是这样的 我厌倦了这个但不起作用 QUERY A1 D4 S
  • MySQL如何让值过期?

    所以我目前正在为网站设计忘记密码功能 基本上 当用户单击 忘记密码 时 它会向他们发送一封带有重置令牌的电子邮件 我希望重置令牌在 48 小时内过期 出于安全原因 我将如何在 MySQL 和 PHP 中执行此操作 我的表中有一个名为 重置密
  • 如何将消息从子用户控件传递到父级

    这是一个 Windows 窗体 Net C 问题 我有一个无边框窗口 其透明度键和背景颜色使其完全透明 窗口内有几个用户控件 我希望能够移动窗户 我知道如何在父窗口上执行此操作 但我的问题是子控件是唯一可见的 因此也是唯一可单击的 问题是
  • 复杂类型需要主键

    我有一个对象 其中包含另一个对象类型的属性 我想将其视为复杂类型 public class Location IModule public string Id get set public Coordinate Coordinate get
  • CSS 下拉菜单

    一直在尝试获得 纯CSS 下拉菜单 几天来一直在尝试获得一个 简单 的CSS下拉导航 可以显示顶层并隐藏第二层 但无法使子项目在悬停时显示 任何帮助非常感谢示例隔离在这里 css和html粘贴到bin下面http www webdevout
  • 在 Ruby 中生成 GUID

    我有一个问题 用 GUID 很容易解决 特别是 对于密码重置工作流程 我想将 GUID 令牌发送到用户的电子邮件并让他们使用该令牌重置密码 由于 GUID 是唯一的 因此这非常安全 并且可以避免我通过电子邮件向人们发送密码 这是有风险的 我
  • 使用变量名 Josson 的表达式计算 JSON 对象

    我们需要在 java 中计算 JSON 对象表达式 我们有以下源 JSON 对象 a 100 b 200 c 300 d calc a c f g 100 h 200 i calc g h 我们需要输出这种格式 a 100 b 200 c
  • VBS 替换消息框而不是放在顶部

    我有这个 VBS 脚本来创建消息框 x msgbox The message 6 Title 但如果我运行另一个带有不同消息的脚本 它会将其放在顶部 使用以下代码从批处理文件调用 vbs echo off temp message vbs
  • C# 泛型类型声明

    是否可以获取通过反射获得的类型的 c 名称 例如 System Collections Generic List 1 System String mscorlib Version 4 0 0 0 Culture neutral Public