public class BusinessObjects<O>
where O : BusinessObject
{
void SomeMethod()
{
var s = O.MyStaticMethod(); // <- How to do this?
}
}
public class BusinessObject
{
public static string MyStaticMethod()
{
return "blah";
}
}
これを達成するための正しいオブジェクト指向のアプローチがありますか、または反射に頼る必要がありますか?ジェネリック型の静的メソッドにアクセスする方法
EDIT:私はこの問題について過度に単純化しようとすると行き過ぎて、重要な点を除外しました。 MyStaticMethodはリフレクションを使用し、正しい結果を返すために派生型が必要です。しかし、私はちょうど私の静的な仮想メソッドを持つことができないと私はそれが私が必要と思う私のデザインにもう一つの欠陥を実現した。
私は、この問題に対する別のアプローチを完全に見つける必要があるように見えます。
詳細はこちらhttp://stackoverflow.com/q/196661/114029 –
これはかなり良い質問だと思います。現在、C#で行うことはできません。しかし、これはMicrosoftが.Net 5+に追加するのに便利です – MarzSocks