Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在VB.NET中实例化对象而不存储到变量?_C#_Vb.net - Fatal编程技术网

C# 如何在VB.NET中实例化对象而不存储到变量?

C# 如何在VB.NET中实例化对象而不存储到变量?,c#,vb.net,C#,Vb.net,我想创建一个对象的实例并执行该对象的方法,但不想执行将该实例存储在声明变量中的额外步骤 例如,假设我有一个简单的加法器类: public class Adder { private int m_int1; private int m_int2; public Adder(int int1, int int2) { this.m_int1 = int1; this.m_int2 = int2; } public int

我想创建一个对象的实例并执行该对象的方法,但不想执行将该实例存储在声明变量中的额外步骤

例如,假设我有一个简单的加法器类:

public class Adder
{
    private int m_int1;
    private int m_int2;
    public Adder(int int1, int int2)
    {
        this.m_int1 = int1;
        this.m_int2 = int2;
    }
    public int getSum()
    {
        return m_int1 + m_int2;
    }
}
我当然可以创建一个实例,存储在变量中,然后使用它:

Adder a = new Adder(1, 2);
int rslt = a.getSum();
// rslt = 3
但是,在C#中,我可以跳过变量存储步骤,只需根据实例化结果调用该方法:

int rslt = new Adder(1, 2).getSum();
// rslt = 3
然而,在VB.NET中,我似乎做不到同样的事情。这样的陈述:

New Adder(1, 2)
除非结果存储在变量中,否则将被视为语法错误

解决方法是在类中创建一个静态“create”方法,返回该类的新实例,但我想知道是否有一个VB.NET等效于C#中可能的方法。

尝试以下方法:

Dim rslt As Integer = New Adder(1, 2).getSum()

您是否尝试将Dim结果设置为Int32=(新的加法器(1,2)).getSum()?(这就是你在c#示例中所做的)啊,是的,你是对的。我遇到了这个问题,并基于非返回对象方法(sub)进行了一些初始测试。我认为,因为不返回的案例不起作用,返回的案例也不会起作用。New MyObject().DoSomethingWithReturn()不起作用,但Dim rslt=New MyObject().DoSomethingWithReturn()起作用。