是否可以创建在创建对象时调用的扩展方法?

用户5841191

我无法修改正在使用的对象,我需要一个方法,但我确实希望在创建对象时调用它。所以我在想扩展方法在这里会很好,但是我不知道是否可能,但是,如果可以,那么如何呢?

编辑:

我的静态类具有应该创建的这个主要对象:

EcuVersion Ecu;

我将从类中调用此方法:

Ecu = ConvertAutodetect.Convert(rawData, Ecu, response);

平台将在寻找Ecu对象。

我的方法将返回一个EcuVersion对象。该对象除包含许多其他内容外,还包含一个集合,而我仅使用各自的集合:

ICollection<AutodetectStep> AutodetectSteps { get; set; }

AutodetectStep类有4个孩子,在其中一个孩子上,我需要在创建孩子时调用此扩展方法。

我必须创建许多子项并将它们添加到集合中,而且,我永远也不会实例化我的对象,因为其中的所有内容都是静态的。

那么使用工厂模式是否合适?

兹比涅克·维斯科夫斯基-KVR000

不,这是不可能的。如果是的话,那将是非常不可靠的,因为这取决于您是否包括相关的扩展名using这实际上是扩展方法的普遍问题,但在这里甚至更糟,因为它永远不会导致编译时错误。

实现此目标的最佳方法可能是使用工厂模式间接构造对象并将该工厂注入代码中。但是,这仍然不能解决现有代码的问题。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

创建在应用程序加载时调用方法的AngularJS对象

在创建C时调用对象方法

创建对象时调用函数

Python - 打印创建对象时调用了哪些dunder方法

dart:是否可以缓存或重新创建在重复函数中创建的对象?

是否可以创建在Visual Studio AND Blend中工作的VSIX扩展?

Riverpod-ref.onDispose在创建对象时调用,而不是在创建对象时调用

是否可以在不创建该类的新对象的情况下调用该类的实例方法?

是否可以在一个语句中创建对象并调用方法?

可以在完全创建对象之前调用对象方法吗?

是否可以使用Resharper创建扩展方法?

是否可以在 Python OOP 中跳过单独的对象创建并在调用类函数时创建对象?

是否在方法调用之前创建了所有对象?

是否可以使用扩展运算符更新对象,而不是创建新对象?

是否可以在Kotlin中创建对伴随对象通用方法的引用?

是否可以通过Kotlin中的方法引用创建对象实例

是否可以在Kotlin中创建“扩展类”?

是否仍然可以创建付费扩展

是否可以在Javascript对象上定义“全局” getter / setter方法,以便在获取/设置任何属性时调用它?

是否可以在Python中创建匿名对象?

是否可以从TypeScript接口创建“空”对象?

是否可以从InputStream创建File对象

是否可以创建匿名通用对象?

是否可以在 Twig 中创建对象?

是否可以从XML文件创建多个对象?

Slurm作业数组:是否可以在Slurm中创建在不同时间开始的作业数组?

一旦创建了它扩展的对象,就调用类方法

是否可以在Java中创建对象的实例而无需调用构造函数?

是否可以确保在创建对象的同一线程上调用dealloc?