すべて私は、複数のSQLデータベースを定期的に接続して切り離す必要のあるアプリケーションを持っています。私はこれらのデータベースのすべてを反復可能なコレクションとして保持するクラスを作成したいと考えています。これを行うには、私はICollection
から継承していますが、私は理解していないです、いくつかのthinkgがあります:.NET ICollectionクラスの基礎
class SqlDataBases : ICollection<SqlDb>
{
private List<SqlDb> dbColl;
public SqlDataBases()
{
dbColl = new List<SqlDb>();
}
// Add an index to the collection.
public SqlDb this[int _nIndex]
{
get { return (SqlDb)dbColl[_nIndex]; }
set { dbColl[_nIndex] = value; }
}
// et al.
}
public class DbEnumerator : IEnumerator<SqlDb>
{
// ...
}
class SqlDb
{
private string strMdfFullPath;
private string strLdfFullPath;
private bool bIsAttached;
public SqlDb(string _strMdfFullPath, string _strLdfFullPath, bool _bIsAttached)
{
this.strMdfFullPath = _strMdfFullPath;
this.strLdfFullPath = _strLdfFullPath;
this.bIsAttached = _bIsAttached;
}
}
あなたは、このような 『追加』などのメソッドを追加しなければならないとき私の質問は「なぜ '、全くICollection
から継承されます自分で?それとも、MSDNで示唆されているように、この自分で行う必要がありますか?私は、 『一言で言えばC#]を』読んでいると、この質問は、この偉大な本の中で取り組まれていないが目立つものですなどが含まれています。
私は謝罪、私はここに何かがないことを知っています...
私の考えは同じです。必要なところで 'List'を使ってみませんか?それはあなたが私が見る限りで実装しようとする機能を持っています。 –
@Killercam、以下の1つのコメントは、辞書<>を使用することを示唆しています。あなたの接続を名前で何度も "検索"したくない場合は、データベース名のようなキーを指定することができるため、Dictionary <>のほうが良いでしょう。 –
ご協力いただきありがとうございます。 – MoonKnight