クラスを含むクラス ライブラリがあります。このクラスは、プログラムとデータベース間の接続を形成し、接続文字列を提供します。
public class DBcon
{
private string pass = "";
private string dbName = "";
OleDbConnection con = new OleDbConnection();
public string setdbName
{
set { dbName = value; }
}
public string setpass
{
set { pass = value; }
}
public OleDbConnection getsetcon
{
set { createcon(); }
get { return con; }
}
private void createcon()
{
PathFinder dbPath = new PathFinder(); // just another class
string DBPath = "";
dbPath.dbFilesPath = "db";
dbPath.setDBName = dbName;
DBPath = dbPath.dbFilesPath;
con.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + DBPath + ";" +
"Persist Security Info = False;Jet OLEDB:Database Password=" + pass + "";
}
}
まず、パブリックメソッドを使用したかったのです。すべてのプロパティを回避するために createcon を使用しますが、それは悪い習慣だと読みました。次に、書き込み専用プロパティを使用することにしましたが、それらも悪い習慣と見なされます。
私のクラスを適切に構造化されたクラスにするために何をすべきか誰か教えてください。文字列を返したくないので、書き込み専用プロパティを使用しています。OledbConnectionが欲しいだけです。
クラスの構造が変わったとしても、助けていただければ幸いです。