如何将带有 ref 参数的 function/method 添加到 Dictionary-object?
How to add function/method with ref parameter to Dicitonary-object?
为了避免更大的 switch-case-block,我想添加(匿名)函数或方法到字典。已经有很多对该过程的解释。但是,我尝试存储的 functions/methions 必须采用引用参数 :
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
-关键字是字典实例化中的无效标记。
那么,我如何才能在适当的 C# 中诱使编译器将这些带有引用参数的方法存储到我的字典中?虽然我使用了上面的Init-method来填充Dictionary,但是在这种情况下,有没有办法直接用其中存储的functions/methods来实例化呢?
感谢帮助!
声明您自己的委托类型:
delegate bool MyDelegate (ref object obj, string param)
希望我的语法正确。好久没用C#语言的这个特性了。由于引入了 Func
类型,这很少有用。
为了避免更大的 switch-case-block,我想添加(匿名)函数或方法到字典。已经有很多对该过程的解释。但是,我尝试存储的 functions/methions 必须采用引用参数 :
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
-关键字是字典实例化中的无效标记。
那么,我如何才能在适当的 C# 中诱使编译器将这些带有引用参数的方法存储到我的字典中?虽然我使用了上面的Init-method来填充Dictionary,但是在这种情况下,有没有办法直接用其中存储的functions/methods来实例化呢?
感谢帮助!
声明您自己的委托类型:
delegate bool MyDelegate (ref object obj, string param)
希望我的语法正确。好久没用C#语言的这个特性了。由于引入了 Func
类型,这很少有用。