|
|
1
27
不可以。或者,您可以接受lambda作为参数,这也使您能够完全控制在哪个部分调用“创建”过程。你可以这样称呼它:
创建将类似于:
另一个选项是返回一个构建器(使用隐式强制转换运算符到myClass)。您可以这样称呼:
检查 this 为建筑工人 这两个版本都是在编译时检查的,并具有完全的IntelliSense支持。 需要默认构造函数的第三个选项:
它介于编译时检查和未检查之间。它确实需要一些工作,因为它强制对赋值使用常量表达式。我认为其他任何事情都是答案中已有方法的变化。记住,你也可以使用普通的作业,如果你真的需要的话,考虑一下。 |
|
|
2
3
您可以使用如下扩展方法:
您可以这样称呼它:
|
|
|
3
2
+ 1的“不”。 以下是匿名对象方法的替代方法:
在这种情况下
|
|
|
4
1
不可以,对象初始值设定项只能用于对构造函数的“new”调用。一个选项可能是向工厂方法添加一些额外的参数,以便在工厂内创建对象时设置这些值。
|
|
|
5
1
就像大家说的,不。
已建议将lambda作为参数。
不过,这要慢得多,因为对象必须反射到所有属性上。 |
|
|
6
0
不,这是你只能做的“内联”。工厂的所有功能都可以为您返回一个引用。 |
|
|
ShaAnder · 为什么sqllachemy返回的是类而不是字符串 1 年前 |
|
|
D_chez12 · 如果对象键值为空,则过滤掉数组中的对象 1 年前 |
|
MeltingDog · 如何检索嵌套的JS对象并通过索引获取其数据? 1 年前 |
|
VonDerHase · 从列表中删除特定值,Python 1 年前 |