与えられた:
class BaseClass {}
class DerivedClass : BaseClass {}
BaseClass パラメーターを持つアクションを受け入れることができる関数を作成したいと考えています。この関数は、指定されたタイプのオブジェクトを作成し、それを Action に渡します。
void MyFunction(Type type, Action<BaseClass> DoAction)
{
BaseClass obj = (BaseClass)Activator.CreateInstance(type);
DoAction(obj);
}
パラメータがDerivedClassであるAnotherFunctionを渡したい:
void AnotherFunction(DerivedClass x)
{
}
MyFunction を呼び出すにはどうすればよいですか? 以下は、AnotherFunction 引数のために無効です。
MyFunction(typeof(DerivedClass), AnotherFunction);