タイトルに間違った言葉が含まれている可能性がありますので、正しい言葉を表示してください。C#ジェネリッククラスのインスタンスを作成する
私は、ジェネリック型T
を受け入れDAL_Baseと呼ばれる基本クラスを持っています。タイプT
は、Business Objectsレイヤーの多くのクラスから来ており、それぞれに対応するデータアクセスレイヤーがあります。
DAL_Baseは、レコードを選択、挿入、更新するメソッドを呼び出すために使用するストアドプロシージャの名前とパラメータを指定できるパラメータを受け入れます。
私が現在抱えているように見えるのは、さまざまな変数を初期化する必要があるDAL_Baseという新しいインスタンスをインスタンス化する方法が見つからないようです。
一部上場:
public class DAL_Base<T> where T : IDisposable, new() {
public DAL_Base<T>() { // <= ERROR HERE
// initialize items that will be used in all derived classes
}
}
VS2010が私を与えているエラーは、次のとおりです。
無効なトークン '(' クラス、構造体、またはインターフェイスメンバー宣言
に私が持っていますかっこなしでコンストラクタを作成しようとしましたが、どちらも便利ではありません。
私が検索したときに返すことができるのは、ジェネリックタイプT
のインスタンスを作成する方法だけです。それはやり方を見つけるのは簡単でした!
MSDNのAn Introduction to C# Genericsもこれをカバーしていないようです。
一般的なクラスまたは構造体のインスタンスコンストラクタの書き方_必要な場合は、同じ構文を 'static'コンストラクタにも使用します。 **コンストラクター**は、人々が 'new'オブジェクト式を書くときに実行するメソッドのようなメンバーです。 –