不是 Why can't you call methods with c# object initializer syntax?
的重复项如何在一条语句中做类似的操作? (我知道我无法在初始化程序中完成)
Vector vector1 = new Vector { X = 1, Y = 1, VectorMethod1() };
Vector vector2 = new Vector { X = 1, Y = 1, VectorMethod2 };
Vector vector3 = new Vector { X = 1, Y = 1, SomeExternalMethod(vector3) };
我需要一个单行表达式来完成与此类初始化程序(而不是初始化程序)相同的操作。我需要它来创建对象并在方法调用中灵活地配置它们。
答案 0 :(得分:1)
如果该方法返回自身,则可用:
class Vector
{
public Vector VectorMethod1()
{
return this;
}
}
Vector vector1 = (new Vector { X = 1, Y = 1 }).VectorMethod1();