C#でジェネリック型を使用するメソッドを持つ基本クラスがあります。次に、これらを継承する他のクラスがあります。親クラスで型を指定したい...どこでもベースクラスのジェネリックを親クラスで指定することができます
を角括弧を避けるために、ここに私の基本クラスのクラスからのサンプルメソッドがCBaseHome
だpublic List<T> fetchAll<T>(CBaseDb db, bool includeEmpty = true) where T : CBaseTable, new()
{
List<T> retVal = new List<T>();
...
return retVal;
}
私は
(この機能を上書きせずに)、このクラスから継承する親クラスを持っていますこれを消費するクラスでは私は私が言うことができるしたいと思い
...
List<student> students = new limxpoDB.Home.student().fetchAll<student>(db, false);
はので、ここでHome.studentクラスはCBaseHomeクラスを継承し、学生がCBaseTableを継承...次のコードを持っています私の消費コードは次のように見えるように、そのクラスの唯一の有効なジェネリック型が学生であることをHome.studentクラス...
List<student> students = new limxpoDB.Home.student().fetchAll(db, false);
私は違いが分であることをここに実現し、私はまた、いくつかのVBでこのライブラリを使用します>ネットコードはひどく見える...
アイデア法上の
ネット:
あなたが何ができるかはむしろそれの方法よりも、親クラス一般的な作りでありますパブリックメンバー名はUpperCamelCaseである必要があります。 – SLaks
'Home.student'は実際に' CBaseHome'から継承していますか? 'Home.student'クラスが宣言されている行を表示できますか? –
'var students = new limxpodb.Home.student()。fetchAll(db、false);'について教えてください。コンパイラを手元に置いてはいけませんが、これを試すことができます。 –