我遇到了问题。我只知道如何使用action和func,但问题是我需要将一个方法放入这样的构造函数中。
Reader read = new Reader(1000, cki, method);
但问题是该方法需要这样的输入。
public static void method(int Integer)
在那种情况下我该怎么做?
答案 0 :(得分:2)
您可以使用Action<int>
作为构造函数参数。Action
的返回类型为void
,泛型参数为参数类型。因此它与您的方法匹配int
并返回void
。
答案 1 :(得分:0)
您不能使用方法,但可以使用Action
public Reader(int first, object cki, Action method)
{
//ctor code here
method.Invoke();
}
比使用:
var reader = new Reader(1000, cki, () => SomeMethod(123));
答案 2 :(得分:0)
您似乎正在寻找Action<int>
并在构造函数中调用它,如下所示?
using System;
public class Program
{
public static void Main()
{
Sample s = new Sample((i) => {Console.WriteLine(i);});
}
}
public class Sample
{
public Sample(Action<int> method)
{
method(5);
}
}