2012-04-04 3 views
0

Прежде всего, я прошу прощения за такой простой вопрос в таком сложном месте. Я пишу одноразовое приложение для анализа текстового файла. Это консольное приложение с типичным статическим Main().Число аргументов ошибки конструктора

Я объявил еще один класс. Я опустил get/set из-за характера операции (он будет использоваться один раз ... никогда больше).

public class Entry 
{ 
    public List<string> numbers; 
    public string rm; 
    public string time; 
    public string desc; 

    Entry(List<string> n, string r, string t, string d) 
    { 
     numbers = n; 
     rm = r; 
     time = t; 
     desc = d; 
    } 
} 

Когда я пытаюсь создать экземпляр класса в Main() с этим утверждением:

Entry newEntry = new Entry(numbers, rn, time, desc); 

Я получаю сообщение об ошибке, что запись не имеет конструктор, который принимает 4 аргумента. Все передаваемые переменные соответствуют типам определения конструктора. Я лишен сна и смущен. Что я делаю не так?

Спасибо и извините за глупый вопрос.

+0

На каком языке это? – hmjd

+0

Является ли это C++, java или что? – Bohemian

+0

@hmjd: Похож на C#. –

ответ

5

Вы сделали конструктор приватным. Если вы не используете модификатор доступа для своего конструктора, он будет установлен как закрытый по умолчанию. Положите «общественность» перед конструктором, и он должен работать:

public class Entry 
{ 
    public List<string> numbers; 
    public string rm; 
    public string time; 
    public string desc; 

    public Entry(List<string> n, string r, string t, string d) 
    { 
     numbers = n; 
     rm = r; 
     time = t; 
     desc = d; 
    } 
} 
+0

Спасибо! В последнее время я использую много языков. –

2

Попробуйте сделать конструктор public:

public Entry(List<string> n, string r, string t, string d) 
+0

Вы также верны. Спасибо. –

+0

И я был первым, кто ответил :( – Bohemian

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