如何在 C# 函数中传递一个方法作为参数
本文将介绍在 C# 函数中传递一个方法作为参数的不同方法。
-
使用
Func
委托 -
使用
Action
代表
在 C# 中使用 Func
代表传递一个方法作为参数
我们将使用内置的 Func
delegate 来传递一个方法作为参数。delegate
的作用就像一个函数指针。使用这个委托的正确语法如下。
public delegate returnType Func<in inputType, out returnType>(InputType arg);
内置的委派 Func
有 N 个参数。它的参数详情如下。
参数 | 说明 | |
---|---|---|
inputType |
强制 | 它是这个委托的输入值的类型,可以有 N 个输入。 |
returnType |
强制 | 它是返回值的类型。该委托的最后一个值被视为是返回类型。 |
下面的程序显示了我们如何使用 Func
委托来传递一个方法作为参数。
public class MethodasParameter {
public int Method1(string input) {
return 0;
}
public int Method2(string input) {
return 1;
}
public bool RunMethod(Func<string, int> MethodName) {
int i = MethodName("This is a string");
return true;
}
public bool Test() {
return RunMethod(Method1);
}
}
在 C# 中使用 Action
委派来传递一个方法作为参数
我们也可以使用内置的委托 Action
来传递一个方法作为参数。使用这个委托的正确语法如下。
public delegate void Action<in T>(T obj);
内置的委托人 Action
可以有 16 个参数作为输入。它的详细参数如下。
参数 | 说明 | |
---|---|---|
T |
强制 | 它是这个委托的输入值的类型。可以有 16 个输入值。 |
下面的程序显示了我们如何使用 Action
委托来传递一个方法作为参数。
public class MethodasParameter {
public int Method1(string input) {
return 0;
}
public int Method2(string input) {
return 1;
}
public bool RunTheMethod(Action myMethodName) {
myMethodName();
return true;
}
RunTheMethod(() => Method1("MyString1"));
}
相关文章
C# 将多个参数传递给 get 方法
发布时间:2024/01/16 浏览次数:175 分类:编程语言
-
本文的方法指南展示了在 C# 中将多个参数传递给 get 方法的不同方法。它介绍了控制器动作,属性路由和 [FromQuery]之类的方法。
如何在 C# 中按对象中的属性对列表进行排序
发布时间:2024/01/16 浏览次数:58 分类:编程语言
-
本文介绍了如何在 C# 中通过对象中的一个属性对列表进行排序。它包括 OrderBy 方法和委托。在 C# 中使用 OrderBy 方法通过对象中的属性对列表进行排序
解压缩 C# 中的 Zip 文件
发布时间:2024/01/16 浏览次数:71 分类:编程语言
-
ZipFile.ExtractToDirectory()函数可用于解压缩 C# 中的压缩文件。使用 C# 中的 ZipFile.ExtractToDirectory() 函数解压缩文件
从 C# 中的字符串中删除字符
发布时间:2024/01/16 浏览次数:74 分类:编程语言
-
有 4 种主要方法可用于从 C# 中的字符串,string.Replace()函数,string.Join()和 string.Split()函数,Regex.Replace()函数以及 Linq 方法。
在 C# 中重复字符串 X 次
发布时间:2024/01/16 浏览次数:173 分类:编程语言
-
在 C# 中,可以使用三种主要方法将字符串重复 x 次:字符串类构造函数,StringBuilder 类和 LINQ 方法。用 C# 中的 string 类构造函数重复执行 X 次字符串
在 C# 中重复字符串
发布时间:2024/01/16 浏览次数:140 分类:编程语言
-
可使用三种主要方法在 C# 中重复字符串,String 构造函数,LINQ 中的 Enumerable.Repeat()函数以及 StringBuilder 类。
在 C# 中向数组中添加字符串
发布时间:2024/01/16 浏览次数:168 分类:编程语言
-
没有内置方法可以将新元素动态添加到 C# 中完全填充的数组中。使用 C# 中的 List.Add() 方法将字符串添加到数组