繁体   English   中英

如何将带有ref参数的函数/方法添加到字典对象?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM