この投稿は、C# クラスに関する私の理解のギャップと、それらが静的関数よりも優れている理由を説明します。
オブジェクトのリストを取得しようとしています。リスト内の各オブジェクトは、テーブル内のレコードを表します。これは、静的関数で簡単に実行できます。
クラスを使用して、次のようにすることができました。
呼び出しルーチン:
ListOfBusinesses l = new ListOfBusinesses ();
List<Business> b = l.listBusinesses();
クラス:
public class Business
{
public string Bupk { get; set; }
public string Bu_name { get; set; }
}
public class ListOfBusinesses
{
public List<Business> listBusinesses()
{
List<Business> businesses = new List<Business>();
businesses.Add(new Business("1", "Business Name 1"));
businesses.Add(new Business("2", "Business Name 2"));
return businesses;
}
}
これを1行で実行できるようにクラスを書き直すことはできませんでした:
ListOfBusinesses l = new ListOfBusinesses();
上記の ListofBusinesses クラスは、プロパティを持たず、クラスを持つためだけに存在するクラスにラップされた静的関数にすぎないように思えます。
私は試した:
public class ListOfBusinesses
{
List<Business> businesses;
public List<Business> ListOfBusinesses()
{
List<Business> businesses = new List<Business>();
businesses.Add(new Business("1", "Business Name 1"));
businesses.Add(new Business("2", "Business Name 2"));
return businesses;
}
}
しかし、「メンバー名はそこに含まれる型と同じにすることはできません」というコンパイラエラーを受け取りました。たとえば、コンストラクターを使用しようとしましたが、何かが不足しています。
何か助けがあれば、私がしばらくの間誤解していた分野で私を啓発するでしょう.
マイク・トーマス