可以使用 Getter 和 Setters 将对象添加到列表中



我想从下面的方法返回数据库列表。我想使用 getter 和 setter,以便在使用此类库并调用 retrieveDatabaseList() 方法时可以更改DatabaseNameConnectionString。 我不能使用 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;
    }
}

使用 C# 功能"属性",可以非常轻松地获取和设置类字段的值。不确定这是否正是您想要的,但这应该会给您一个关于它们如何工作的提示。

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

最新更新