为什么我不能使用new()来传递参数?

时间:2015-05-26 11:00:31

标签: c# vb.net constructor

VB移至C#

VB中的

我允许这样做

SomeFunct(new someClass(param1, param2))

所以在C#中尝试过,我得到了错误:

  

错误1“someClass”不包含带有2个参数C:\ Users .....

的构造函数

为什么我不能在C#中做到这一点?

我不想创建新变量,我想只调用一行函数。如何在C#??

中做到这一点
using System.Windows;

class someClass{
    someClass(){}

    someClass(Point one, Point two){
      //constructing stuff
     }
//methods
}

在此处查看我的错误:

enter image description here

3 个答案:

答案 0 :(得分:2)

默认情况下在VB.NET类成员中公开

在C#中有私人

为什么具有两个参数的构造函数不可见

只需添加访问修饰符public

即可
class someClass{
    public someClass() {}

    public someClass(Point one, Point two)
    {
        //constructing stuff
    }
}

答案 1 :(得分:1)

错误清楚地表明您缺少该特定类的构造函数,其中包含2个参数。

您需要在类中使用相同的签名声明构造函数,然后尝试运行它。它将在它之后工作。

希望这可以解决它。

答案 2 :(得分:1)

该错误与new关键字无关。它只是告诉你someClass没有带有两个参数的构造函数