次のプロパティを持つクラスがあります。
public Action<bool> Action { get; private set; }
Action<bool>
そして、引数を取るコンストラクターがあります。
次に、型のオブジェクトを受け入れる別のコンストラクターを追加しますAction
。どうすれば変換できAction
ますAction<bool>
か?この場合、bool-parameterはtrueである必要があります。
次のプロパティを持つクラスがあります。
public Action<bool> Action { get; private set; }
Action<bool>
そして、引数を取るコンストラクターがあります。
次に、型のオブジェクトを受け入れる別のコンストラクターを追加しますAction
。どうすれば変換できAction
ますAction<bool>
か?この場合、bool-parameterはtrueである必要があります。
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つの方法でこのクラスをインスタンス化できます。
var foo = new Foo(x => { Console.WriteLine("Hello"); });
(最初のctorを呼び出します)var foo = new Foo(() => { Console.WriteLine("Hello"); });
(2番目のctorを呼び出します)Action a = () => aboolaction(true);