无构造函数类是否可以在不实例化的情况下调用其方法

本文关键字:实例化 情况下 调用 方法 构造函数 是否 | 更新日期: 2023-09-27 18:33:44

我可以避免初始化它吗?

我有一个简单的工厂,没有构造函数。我是这样使用它的:

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);

无构造函数类是否可以在不实例化的情况下调用其方法

将类的方法设为静态。

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

如果没有"new",您应该将方法标记为静态

没有构造函数的类由编译器赋值一个默认构造函数,主要是为了消除对空构造函数的需求:

除非类是静态的,否则 C# 编译器将为没有构造函数的类提供公共默认构造函数,以便启用类实例化。

如果要在不初始化类的情况下访问方法,请将方法static。但是,在执行此操作时,应确保这些方法是线程安全的。

你可以使函数成为静态的。

相关文章: