gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 20:41:30 25 4
gpt4 key购买 nike

为了避免更大的 switch-case-block,我想添加(匿名)函数或方法到字典。对于这个过程已经有很多解释了。但是,我尝试存储的函数/方法必须采用引用的参数:

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方法来填充Dictionary,但是在这种情况下有没有办法直接用其中存储的函数/方法来实例化它?

感谢帮助!

最佳答案

声明您自己的委托(delegate)类型:

delegate bool MyDelegate (ref object obj, string param)

我希望我的语法是正确的。自从我上次使用 C# 语言的这个功能以来,已经有很长一段时间了。由于引入了 Func 类型,因此它很少有用。

关于c# - 如何将带有 ref 参数的函数/方法添加到字典对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30027564/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com