7

次のプロパティを持つクラスがあります。

public Action<bool> Action { get; private set; }

Action<bool> そして、引数を取るコンストラクターがあります。

次に、型のオブジェクトを受け入れる別のコンストラクターを追加しますAction。どうすれば変換できActionますAction<bool>か?この場合、bool-parameterはtrueである必要があります。

4

2 に答える 2

13
public class Foo
{
    public Foo(Action<bool> action)
    {
        // Some existing constructor
    }

    public Foo(Action action): this(x => action())
    {
        // Your custom constructor taking an Action and 
        // calling the existing constructor
    }
}

これで、2つのコンストラクターのどちらを呼び出すかに応じて、2つの方法でこのクラスをインスタンス化できます。

  1. var foo = new Foo(x => { Console.WriteLine("Hello"); });(最初のctorを呼び出します)
  2. var foo = new Foo(() => { Console.WriteLine("Hello"); });(2番目のctorを呼び出します)
于 2012-10-08T14:02:16.413 に答える
6
Action a = () => aboolaction(true);
于 2012-10-08T14:01:00.630 に答える