1

これを初期化することを回避できますか?

コンストラクターのない単純なファクトリがあります。私はそれを次のように使用します:

var slf = new GenericSelectListFactory();
vm.Works = slf.getWorkgsl(0);
vm.Cars = slf.getCargsl(0);

私も次のように使用できます:

vm.Cars = new GenericSelectListFactory().getCargsl(0);

新しいキーワードなしでそれを使用する方法はありますか?

vm.Cars = GenericSelectListFactory.getCargsl(0);
4

4 に答える 4

9

クラスのメソッドを静的にします。

class GenericSelectListFactory
{
   public static List<Cars> getCargsl()
   {
      // your logic here
   }

}
于 2012-05-10T20:42:26.277 に答える
4

「新規」がない場合は、メソッドを静的としてマークする必要があります

于 2012-05-10T20:41:20.430 に答える
3

コンストラクターのないクラスには、主に空のコンストラクターの必要性をなくすために、コンパイラーによってデフォルトのコンストラクターが割り当てられます。

クラスが静的でない限り、コンストラクターのないクラスには、クラスのインスタンス化を有効にするために、C# コンパイラーによってパブリックの既定のコンストラクターが与えられます。

クラスを初期化せずにメソッドにアクセスする場合は、メソッドを作成しますstatic。ただし、これを行う際には、メソッドがスレッドセーフであることを確認する必要があります。

于 2012-05-10T20:44:29.267 に答える
2

関数を静的にすることができます。

于 2012-05-10T20:42:10.307 に答える