모두 저는 여러 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# in a Nutshell"을 읽고 있는데이 질문은이 위대한 책에서 다루어지지 않은 것입니다.
사과하겠습니다. 나는 여기서 뭔가를 놓치고 있다는 것을 안다. ...
제 생각은 같습니다. 왜 필요하면'List'을 사용하지 않으시겠습니까? 그것은 내가 볼 수있는 한 구현하려고하는 기능을 가지고 있습니다. –
@Killercam, 아래의 한 가지 주석은 사전 <> 사용을 제안합니다.데이터베이스 이름과 같은 키를 지정할 수 있기 때문에 Dictionary <>가 더 좋을 것입니다. –
도움 주셔서 감사합니다. – MoonKnight