c# - 如何将函数或字符串存储为字典中的值 (C#)

标签 c#

我需要创建字典,其 键是字符串和 值是(委托(delegate)函数或字符串)。

因为,我想实现回调机制,其中有时我需要函数进行更多处理,返回字符串,有时只需要固定字符串。

有没有办法在 C# 中做到这一点?

谢谢

最佳答案

我认为最简单的方法是创建一个 Dictionary<string, Func<string>> .这显然可以阻止回调案例。对于非回调情况,您可以创建一个简单的 lambda 来返回硬编码值。

private Dictionary<string, Func<string>> m_map;
public void AddValue(string key, string value) {
  m_map[key] = () => value;
}
public void AddValue(string key, Func<string> value) {
  m_map[key] = value;
}

关于c# - 如何将函数或字符串存储为字典中的值 (C#),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4339474/

相关文章:

c# - Visual Studio 在调试结束时清除输出文件

c# - ReadKey InvalidOperationException 应用程序没有控制台

c# - 使用 X-ALT-DESC/将 HTML 应用于 Outlook 中的日历邀请

c# - WPF 应用程序是否有等效于 $.connection.hub.start().done() Javascript 方法?

c# - SqlDataReader.HasRows 始终返回 "true",即使结果为空

c# - 复制后 Visual Studio Redo 快捷方式 Ctrl + Y 停止工作

c# - 构建 linq 查询以获得最快性能的正确方法?

c# - Gmap.Net 标记在不正确的位置,但本地图缩放时,标记会转到正确的位置

c# - 如何对 ASP.NET Web API 路由进行单元测试?

c# - WCF 4.0 - 使用 REST 服务模板返回 JSON WebFaultException