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

Inv*_*ble 6 c#

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

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

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

谢谢

Jar*_*Par 7

我认为最简单的方法是创建一个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;
}
Run Code Online (Sandbox Code Playgroud)


Mar*_*ers 6

在需要固定字符串的情况下,您可以创建一个返回固定字符串的函数.然后在这两种情况下,您只需要处理返回字符串的函数.