如何在一个语句中创建实例并调用方法?

时间:2019-06-11 05:24:21

标签: c#

不是 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) };

我需要一个单行表达式来完成与此类初始化程序(而不是初始化程序)相同的操作。我需要它来创建对象并在方法调用中灵活地配置它们。

1 个答案:

答案 0 :(得分:1)

如果该方法返回自身,则可用:

class Vector
{
    public Vector VectorMethod1()
    {
         return this;
    }
}

Vector vector1 = (new Vector { X = 1, Y = 1 }).VectorMethod1();