2015-05-26 2 views
-1

Переход от VB к C#Почему я не могу использовать new() для передачи параметра?

в VB я позволил сделать как этот

SomeFunct(new someClass(param1, param2)) 

так пробовал его в C#, я получил ошибку:

Error 1 'someClass' does not contain a constructor that takes 2 arguments C:\Users.....

Почему я не могу сделать это в C#?

Я не хочу создавать новую переменную, я хочу назвать функцию только одной строкой. Как это сделать в C#?

using System.Windows; 

class someClass{ 
    someClass(){} 

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

Смотрите мою ошибку здесь:

enter image description here

+1

Как' someClass' объявлен доступ? Ошибка довольно ясна. –

+1

Вы тоже получите ту же ошибку в vb.net – Fabio

+2

Вам не хватает ключевого слова 'public' перед вашим конструктором. – Oliver

ответ

2

В члены VB.NET класса общественных по умолчанию

В C# есть частный

, что почему ваш конструктор с двумя параметрами WASN «т видно

Просто добавьте модификатор public

class someClass{ 
    public someClass() {} 

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

:) спасибо, @Carsten – Fabio

+0

ну, вы могли бы сэкономить много редактирования;) – Carsten

+0

Плохо мой вопрос проголосовал, спасибо ... –

1

ошибка ясно указывает на то, что вам не хватает конструктор для этого конкретного класса с 2-мя параметрами в нем.

Вам необходимо объявить конструктор в своем классе с той же подписью, а затем попытаться запустить это. Он будет работать после него.

Надеюсь, что это очистит.

+0

Я обновил свой вопрос, извините за непонятный вопрос ... –

+0

Просто поставьте слово: 'public' в этом line: 'Edge (Point begin, Point закончился)'. Он должен выглядеть так: 'public Edge (Point begin, Point закончился)' –

1

Эта ошибка не имеет ничего общего с новым ключевым словом. Он просто говорит вам, что нет конструктора для SomeClass, который принимает два аргумента

+0

Хорошо, мой конструктор был закрыт по умолчанию, спасибо .. –

Смежные вопросы