私は現在C#でのリフレクションに取り組んでおり、質問があります。私は、抽象クラスまたはインタフェースクラスであるかもしれない別のクラス型を呼び出そうとします。だから私はインスタンスの作成ができないので、それらのメソッドを呼び出さないだけです(明らかに)。しかし、私はこれに満足していない。抽象タイプのメソッド
私の質問は:それは何とかこの問題を回避し、私は与えられた抽象クラス型のメソッドを呼び出すことができる何か、のインスタンスを作成することは可能でしょうか?テンプレートから継承するクラスを作成して抽象型にするのが好きですか?
foreach (MethodInfo m in _classType.GetMethods(bindingFlags))
{
if (_classType.IsAbstract || _classType.IsInterface)
{
// only invoke instanciable types
MessageBox.Show("Abstract class and Interface cannot be invoked!");
}
else
{
var ms = CreateStringFromMethodForCheckedBox(m);
if (s == ms)
{
m.Invoke(Activator.CreateInstance(_classType), null);
}
}
}
そして、抽象メソッドは、定義なしで何をするか分からないところで何をすると思いますか? – praty
また、インターフェースについても言及しますが、インターフェース上で「メソッド」を呼び出そうとするとどうなりますか?この質問は実際にはそれ以上の情報がなければ意味をなさない。 – DavidG