我想从以下方法返回数据库列表。我想使用getter和setter,以便在使用此类库并调用DatabaseName
方法时可以更改ConnectionString
和retrieveDatabaseList()
。我不能使用getDatabase()
方法,因为它只返回一个数据库实例。我不能使用set
方法,因为它是无效的。有没有办法使用List.Add()方法使用getter和setter?
class SelectDatabase
{
private string DatabaseName;
private string ConnectionString;
public SelectDatabase(string DBNAME, string CONNSTRING){
DatabaseName = DBNAME;
ConnectionString = CONNSTRING;
}
public List<SelectDatabase> retrieveDatabaseList()
{
List<SelectDatabase> databaseList = new List<SelectDatabase>();
databaseList.Add(new SelectDatabase(getDatabaseName(),""));
databaseList.Add( new SelectDatabase(getDatabaseName(), "" ));
databaseList.Add( new SelectDatabase(getDatabaseName(), "" ));
return databaseList;
}
public string getDatabaseName() {
return this.DatabaseName;
}
public void setDatabaseName(string dbName) {
this.DatabaseName = dbName;
}
public string getConnectionString()
{
return this.ConnectionString;
}
public void setConnectionString( string connectionString )
{
this.ConnectionString = connectionString;
}
}
答案 0 :(得分:2)
使用C#功能属性,您可以轻松地进行geting和设置类字段的值。不确定这是否正是你想要的,但这应该会给你一个关于它们如何工作的提示。
public class Database
{
public string Name { get; set; }
public string ConnectionString { get; set; }
}
public class Databases
{
public ICollection<Database> DatabaseList { get; private set; }
public void AddDatabase(Database db)
{
DatabaseList.Add(db);
}
public void RemoveDatabase(string dbName)
{
DatabaseList.Remove(DatabaseList.Single(db => db.Name == dbName));
}
}
你还应该读一下属性,例如在此网站上:http://msdn.microsoft.com/en-us/library/vstudio/x9fsa0sw.aspx