0

まず、こんな洗練されたところでこんな素朴な質問をしてすみません。テキスト ファイルを解析するための 1 回限りのアプリを作成しています。これは、典型的な static 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);

Entry には 4 つの引数を取るコンストラクターがないというエラーが表示されます。渡されるすべての変数は、コンストラクター定義の型と一致します。寝不足で迷っています。私は何を間違っていますか?

ありがとう、そしてばかげた質問でごめんなさい。

4

2 に答える 2

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;
    }
}
于 2012-04-04T14:14:32.970 に答える
2

コンストラクターを作成してみてくださいpublic:

public Entry(List<string> n, string r, string t, string d)
于 2012-04-04T14:13:51.587 に答える