[英]How to add function/method with ref parameter to Dicitonary-object?
为了避免更大的switch-case-block,我想在Dictionary中 添加 (匿名) 函数或方法 。 对于该过程已经有很多解释。 但是,我要存储的函数/方法必须采用一个引用的参数 :
private static Dictionary<int, Func<ref object, string, bool>> someMethDict =
new Dictionary<int, Func<ref object, string, bool>>(){};
public static void Init ()
{
someMethDict.Add(0, someMeth);
}
public static bool someMeth (ref object obj, string param)
{
// do something
return true;
}
此代码示例无法编译,因为ref
-keyword在Dictionary-instantiation中是无效的标记。
因此,如何在正确的C#中诱使编译器将这些带有引用参数的方法存储到我的字典中? 尽管我使用了上面的Init方法来填充Dictionary,但是在这种情况下,是否可以使用存储在其中的函数/方法直接实例化它?
感谢帮助!
声明自己的委托人类型:
delegate bool MyDelegate (ref object obj, string param)
我希望语法正确。 自从我上次使用C#语言的此功能以来已经有很长时间了。 由于引入了Func
类型,因此很少有用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.