无构造函数类是否可以在不实例化的情况下调用其方法
本文关键字:实例化 情况下 调用 方法 构造函数 是否 | 更新日期: 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
。但是,在执行此操作时,应确保这些方法是线程安全的。
你可以使函数成为静态的。