相关疑难解决方法(0)

使用C#将方法作为参数传递

我有几个方法都具有相同的签名(参数和返回值),但不同的名称和方法的内部是不同的.我想传递方法的名称以运行到另一个将调用传入方法的方法.

public int Method1(string)
{
    ... do something
    return myInt;
}

public int Method2(string)
{
    ... do something different
    return myInt;
}

public bool RunTheMethod([Method Name passed in here] myMethodName)
{
    ... do stuff
    int i = myMethodName("My String");
    ... do more stuff
    return true;
}

public bool Test()
{
    return RunTheMethod(Method1);
}
Run Code Online (Sandbox Code Playgroud)

此代码不起作用,但这是我想要做的.我不明白的是如何编写RunTheMethod代码,因为我需要定义参数.

.net c# methods delegates

646
推荐指数
7
解决办法
61万
查看次数

C#中的方法组是什么?

在以下情况下,我经常遇到一个错误,例如"无法从'方法组'转换为'字符串'"

var list = new List<string>();
// ... snip
list.Add(someObject.ToString);
Run Code Online (Sandbox Code Playgroud)

当然最后一行有一个拼写错误,因为我忘记了之后的调用括号ToString.正确的形式是:

var list = new List<string>();
// ... snip
list.Add(someObject.ToString()); // <- notice the parentheses
Run Code Online (Sandbox Code Playgroud)

但是我想知道什么是方法组.谷歌也不是MSDN的帮助.

.net c# method-group

336
推荐指数
5
解决办法
15万
查看次数

标签 统计

.net ×2

c# ×2

delegates ×1

method-group ×1

methods ×1