1

我想从下面的方法返回一个数据库列表。我想使用 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;
    }
}
4

1 回答 1

3

使用 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

于 2013-11-11T12:39:19.070 回答