如何制作字典扩展方法?

2024-04-06

我正在尝试写一个Dictionary独立于键/值数据类型工作的扩展。我尝试通过使用object数据类型,假设它适用于任何类型。

My code:

 public static class DictionaryExtensionsClass
    {
        public static void AddFormat(this Dictionary< ?? unknow type/*object*/, ??unknow type/*object*/> Dic, ??unknow type/*object*/ Key, string str, params object[] arglist)
        {
            Dic.Add(Key, String.Format(str, arglist));
        }
    }

您只需将该方法设为通用即可:

public static void AddFormat<TKey>(this Dictionary<TKey, string> dictionary,
    TKey key,
    string formatString,
    params object[] argList)
{
    dictionary.Add(key, string.Format(formatString, argList));
}

请注意,它只是通用的key键入值have to be string(或可能object或一个接口string实现,我猜)鉴于您要向其添加一个字符串值。

不幸的是,您无法真正表达“仅允许值类型,其中string是泛型类型约束中的有效值”。

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

如何制作字典扩展方法? 的相关文章

  • ASP Core HttpClientFactory 模式使用客户端证书

    任何人都知道在使用时如何使用客户端证书HttpClientFactory 在我发现的所有示例中 您需要提供HttpMessageHandler in the HttpClient构造函数 使用时不可用HttpClientFactory se
  • 如何在 C# 中知道 PID 和 VID 来发现虚拟 COM 端口名称

    如果我知道 PID 和 VID 我会尝试找到查找 COM 端口名称的正确方法 到目前为止 我写了解决方法 但我不相信没有更优雅和正确的方法 顺便说一句 我知道我可以使用 REGEX 编写此代码只是为了测试解决方法 我知道还有很大的改进空间
  • C# 测试活动的互联网连接。 Ping google.com

    C 2008 我正在使用此代码来测试互联网连接 因为我的应用程序必须登录到网络服务器 但是 如果用户互联网连接失败或电缆被拔出 我必须通知用户 Ping www google com to check if the user has a i
  • C++ 和序列化:有什么方法可以进行某种内省吗?

    我读过一些例子维基百科 http en wikipedia org wiki Type introspection C 2B 2B但我正在寻找一些现实生活中的例子 如何使用内省 为什么 它有助于编写干净的代码 以及代码本身 例如 有没有办法
  • 在目标 VS 安装时,VSIX 扩展内部使用的 WPF-Log4Net 未输出日志

    当 Log4net 在 VSIX 扩展中使用并安装在另一个目标 VS 上时 它不会记录日志 我有一个 WPF 解决方案 我下载了 log4net dll 添加了 log4net config 并将 复制到输出目录 值设置为 始终复制 log
  • boost::asio::io_service 是否保留处理程序的顺序?

    Does boost asio io service http www boost org doc libs release doc html boost asio reference io service html保证处理程序的调用顺序与
  • 为什么我不能从对中返回 unique_ptr?

    为什么我不能从对中返回 unique ptr include
  • 试图使用加密来混淆我的项目打破了它

    我试图尝试不同的混淆选项 为了做到这一点 我首先尝试了加密货币 以下是我遵循的步骤 打开加密向导并选择一些选项 选择我的解决方案文件 完成向导后 我看到有些 Dll 被很好地混淆了 但我的项目现在无法构建 我注意到的两件事是 我的文件夹中有
  • 从套接字读取 C HTTP

    我想知道如何判断是否已从套接字接收到所有数据 这是一个简单的网络代理 现在我正在处理请求部分 所以发送的内容应该以 r n r n 结尾 我不知道请求会持续多久 我在这里读过一些帖子 说我应该检查读取函数是否返回 0 但其他人说0只在客户端
  • 如何删除实体框架6中的多对多关系

    如果将项目连接为多对多关系 则从数据库中删除项目时会出现问题 我的数据库看起来像 Project lt JobInProject gt Job ProjectID JobInProjectID JobID ProjectID JobID 主
  • 如何从Web JavaScript应用程序获取桌面C#程序中的变量

    我遇到一个问题 有两个应用程序 一种是 C 中的桌面应用程序 另一种是 javascript 中的 Web 应用程序 运行桌面应用程序中的一些变量或信息需要传输到Web应用程序 有谁知道如何解决这个问题 有人愿意提供更多细节来解决这个问题吗
  • 为什么这个单独的定义会导致错误?

    挑战 我有这段代码无法编译 你能找出问题所在吗 有一次让我很头疼 header namespace values extern std string address extern int port cpp file std string v
  • 将授权标头添加到 Web 参考

    我正在尝试向客户端的网络服务发出请求 我不知道客户端的底层平台 我使用 添加 Web 引用 在 Visual Studio 2010 中使用了客户端的 WSDL 并生成了我的代理类 称为 ContactService 我现在需要将如下所示的
  • 从视图模型调用方法的命令

    好吧 我倾向于避免使用命令 因为它们总是让我感到困惑 但我正在进行一个新项目 并且正在尝试正确构建它 并且在我看来没有任何代码隐藏 基本上我现在想做的就是连接一个按钮来触发一个命令 在我的视图模型上执行一些操作 但不知何故 如此简单的事情仍
  • 生成范围 [min,max] 内的随机数 [重复]

    这个问题在这里已经有答案了 我正在使用 C 生成范围 min max 内的整数随机数 我在用 int random int int min int max return min rand max min 但我认为上面的代码适用于范围 min
  • 如何在asp.net core 6中注入IConfiguration

    web api 应用程序中不再有 Startup cs 我们以前可以注入IConfiguration进入那个Startup class public class Startup public Startup IConfiguration c
  • 是否可以编写一个在另一个 Windows 应用程序中选择文本时收到通知的 Windows 应用程序?

    我很好奇是否可以编写一个程序来监视我的文本选择 一种可能的用途是编写一个与编辑器 IDE 无关的代码格式化程序 应用程序 服务 P 启动并以某种方式挂接到窗口中 以便在任何窗口中选择文本时收到通知 启动其他一些应用程序 A 用户选择 A 中
  • 替换全局热键

    我有一个位于托盘中的应用程序 我想定义多个热键来触发我的程序中的事件 我从 AaronLS 在这个问题中的出色回答中找到了灵感 使用C 设置全局热键 https stackoverflow com a 27309185 3064934 如果
  • DataGridView 捕获用户行选择

    我在处理选择时遇到问题DataGridView 我的网格视图包含一个金额列 表单上有一个文本框 应显示所选网格视图行的总数 因此 我需要在用户选择 取消选择 gridview 行时捕获事件并相应地计算 添加 减去 金额 我找到了两种方法 使
  • C#:如何处理乱序 TCP 数据包?

    请有人解释一下如何处理乱序数据包 我使用原始套接字来捕获数据包 并在数据包到来时解析它们 但其中一些数据包的顺序错误 例如 ID 标志 16390 PSH ACK 16535 PSH ACK 16638 确认 16640 PSH ACK 1

随机推荐

  • 当第一个查询使用只读数据库时,Android 无法升级我的数据库

    所以到目前为止我一直严重依赖自动化 几乎 onCreate onUpgrade我的方法SQLite数据库 一切都工作正常 我只需更改数据库的版本号即可运行onUpgrade自动地 但现在 当我尝试向数据库添加列并更改版本号时 我遇到了该异常
  • 适用于 Raspberry Pi 的触摸屏 Kivy 应用

    场景如下 我使用 python 框架编写了一个 guiKivy http kivy org 我想在树莓派上运行它这个触摸屏 https learn adafruit com adafruit pitft 28 inch resistive
  • 获取默认远程推送和默认远程分支

    我想从脚本中获取默认的推送远程和默认的推送分支 对于召回 git 将按以下顺序在这些设置之间选择远程 branch
  • Ruby - Proc.call - 捕获异常

    我在捕获调用中的异常和错误时遇到问题Proc object 看我的代码 def method1 do something end def method2 do something end def run method safely proc
  • Ember:在 Mixin 中以编程方式设置 queryParams

    我正在尝试以编程方式在 Ember Mixin 中定义 queryParams mixin 有一个方法 当持有 mixin 的控制器初始化时会调用该方法 setupQueryParams params gt params forEach p
  • 运行JDK代码时Java JIT会作弊吗?

    我正在对一些代码进行基准测试 但我无法让它运行得像java math BigInteger https docs oracle com javase 7 docs api java math BigInteger html 即使使用完全相同
  • MySQL,我应该保持连接还是在需要时连接?

    我一直在将家里的温度记录到 MySQL 数据库 每 5 分钟总共读取 10 个传感器 并且一直在使用 Python 但我想知道一些事情 目前 当我第一次运行程序时 我运行到 MySQL 的正常连接 该连接仅运行一次 db MySQLdb c
  • 如何通过按住Java中的JPanel来移动未修饰的JFrame? [复制]

    这个问题在这里已经有答案了 到目前为止 我一直在制作一个未装饰的 JFrame 我想知道是否可以通过按住 JPanel 上的单击来移动未装饰的 JFrame 这是我正在处理的源代码 private static void createFra
  • jquery自动完成颜色变化

    I am using bootstrap for UI and jquery custome UI for autocomplete When suggested items are listed i would like to match
  • SFML 绘制像素阵列

    我找到了这个 http lodev org cgtutor raycasting html http lodev org cgtutor raycasting html 互联网上的教程 我很感兴趣并想自己制作 不过我想在 SFML 中做到这
  • 什么才是真正性能更高的? Haskell 或 OCaml [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 使用复选框回发带有标志的枚举

    我有一个枚举属性 我试图通过复选框设置它的值 枚举被标记 当用户选择多个选项时 我希望该属性将所有选定的标记连接起来 我尝试为每个枚举值添加一个复选框 并为每个复选框指定相同的名称 在回发期间 将检索第一个选定的标志 但不会与其他标志连接
  • 防止 DataGrid 滚动对齐行

    我有一个 DataGrid 其中每一行都包含一个 ItemsControl 因此 网格的行可能会非常高 如果一行比网格的高度高 我无法滚动查看该行的其余部分 因为 DataGrid 会自动滚动到下一行 也就是说 如果我正在查看第 1 行的上
  • 将参数传递给 std::thread 包装器

    我想实现一个小型线程包装器 它提供线程是否仍处于活动状态或者线程是否已完成其工作的信息 为此 我需要将线程类要执行的函数及其参数传递给另一个函数 我有一个简单的实现 应该可以工作 但无法编译它 而且我不知道该怎么做才能使它工作 这是我的代码
  • Symfony2 - 获取 TWIG 模板中的当前 URL 或路由?

    我的路线是 admin path admin defaults controller CatalogWebBundle Admin admin 如何在 PHP 模板中获取路由名称 获取当前 URL request gt getRequest
  • Postgres 中左连接分页

    Summary 我的数据库中有需要在客户端显示的数据 到目前为止 它还没有被分页 但现在数据已经增长到明显减慢连接速度的程度 所以我想分页它 Setup 客户端我正在使用 DataTables 服务器端我使用 F 数据库是postgres
  • 一段时间后未调用 CLLocationManager didUpdateToLocation

    我正在尝试记录用户随时间的位置 如果用户在移动 则它可以正常工作 并且委托方法 didUpdateToLocation 会被可靠地调用 但是 如果用户静止并且应用程序在后台运行 那么在一段时间后 将不再调用委托方法 要重新启动它 需要将该应
  • 带参数的 Typescript 工厂模式

    我目前在我的项目中使用工厂模式 下面是最小的可重现代码 class A constructor public name string class B constructor public age number public address
  • Internet Explorer 中的 JavaScript 正则表达式问题

    我正在尝试使用正则表达式拆分 Javascript 中的字符串 我的代码如下 var status This is a test http yfrog com 5y6eruj var regexp http yfrog com w 0 1
  • 如何制作字典扩展方法?

    我正在尝试写一个Dictionary独立于键 值数据类型工作的扩展 我尝试通过使用object数据类型 假设它适用于任何类型 My code public static class DictionaryExtensionsClass pub