如何将方法添加到构造函数中?

时间:2015-03-03 12:51:27

标签: c#

我遇到了问题。我只知道如何使用action和func,但问题是我需要将一个方法放入这样的构造函数中。

Reader read = new Reader(1000, cki, method);

但问题是该方法需要这样的输入。

public static void method(int Integer)

在那种情况下我该怎么做?

3 个答案:

答案 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);
    }
}