我想实现只是为了好玩自定义开关的情况下..问题在实现我自己的开关类
的做法是,我已经创建了一个继承Dictionary对象
public class MySwitch<T> : Dictionary<string, Func<T>>
{
public T Execute(string key)
{
if (this.ContainsKey(key)) return this[key]();
else return default(T);
}
}
和A类我使用的是下
new MySwitch<int>
{
{ "case 1", ()=> MessageBox.Show("From1") },
{ "case 2..10", ()=>MessageBox.Show("From 2 to 10") },
}.Execute("case 2..10");
但是,如果我指定“案2”它给出了一个默认值,关键是不是在字典。
使得的全部目的“情况下2..10”是,如果用户输入什么之间的情况下为2〜10的情况下,它会执行相同的值。
任何人都可以请帮我解决这个问题吗?
感谢