C# 如何在一条语句中创建实例和调用方法?

C# 如何在一条语句中创建实例和调用方法?,c#,C#,不是复制品 我怎么能在一个声明中做这样的事情?我知道我不能用初始化器来做 我需要一个单行表达式来做与这样的初始值设定项相等的事情,而不是初始值设定项。我需要它来创建对象,并在方法调用中灵活地配置它们。如果该方法返回自身,则它可用: class Vector { public Vector VectorMethod1() { return this; } } Vector vector1 = (new Vector { X = 1, Y = 1 }).V

不是复制品

我怎么能在一个声明中做这样的事情?我知道我不能用初始化器来做


我需要一个单行表达式来做与这样的初始值设定项相等的事情,而不是初始值设定项。我需要它来创建对象,并在方法调用中灵活地配置它们。

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

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

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

这仍然是对象初始值设定项。你认为这个和复制品有什么不同?@AliceMcGee忽略投票。这不是针对个人的。人们没有投票反对你。他们正在就问题的性质发表意见。你的工作是改进问题笔记,尤其是——你的工作不是试图为问题辩护。最好的办法是回答评论者提出的问题。我没有投票反对你的问题,但说实话,这并不清楚。这是可以改进的。就目前而言,这感觉像是一个XY问题-。为什么需要在一个语句中明确说明?你的问题是,它只对你有意义。这在你的脑子里很清楚,但在我们的脑子里却不清楚。你想达到什么目标?为什么只想使用一个语句?为什么不能使用多行代码?当我们问问题时,我们不是在攻击你。你的医生询问你疼痛的细节,因为她想帮助你。我们也很想帮助您,但我们需要了解痛苦首先在哪里。这里的服务太糟糕了。我辞职了。当然,我会告诉我的朋友们不要这样使用。@AliceMcGee我可以看出这对你们来说是多么令人沮丧。对于那些不习惯这样做及其目标和目的的人来说,这可能会感到困难。理解SO的关键在于它试图达到两个目的。首先,帮助你。其次,帮助下一个和你有同样问题的人。你把问题弄清楚的好处是,这样问题就可以很好地达到两个目的——你得到一个很好的答案,而下一个人可以阅读并理解你的答案。我知道这感觉像是工作,而且会让人感到沮丧。我希望你有一个伟大的一天!您可以编写一个或多个包装来实现这一点。有趣的是,还没有人提到构造函数。我建议使用一个像T这样的扩展方法,使用T obj,Action Action{actionobj;return obj;}。使用起来很简单:新的MyType{Prop1=prop1Value}。Withobj=>obj.Prop2=Prop2值。Withobj=>obj.DoSomething;//等
class Vector
{
    public Vector VectorMethod1()
    {
         return this;
    }
}

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