2016-11-21 8 views
0

im completley new with c#ここで問題を見つけることはできません。同じプロジェクトに2つの.csファイルがあり、起動プロジェクトなどが設定されていますが、最初の.csファイルのクラスの1つは、プログラムを実行するはずの.csによって見つかりません。C#がクラスを見つけることができません - タイプまたは名前空間の名前 'GradeBook'が見つかりませんでした(使用するディレクティブまたはアセンブリ参照がありません)

File1:

using System; 

public class GradeBookTest 
{ 
    public static void Main(string[] args) 
    { 
     GradeBook myGradeBook = new GradeBook(); 

     Console.WriteLine("Initial course name is: '{0}'\n", myGradeBook.CourseName); 

     Console.WriteLine("Please enter course name:"); 
     myGradeBook.CourseName = Console.ReadLine(); 
     Console.WriteLine(); 

     myGradeBook.DisplayMessage(); 
    } 
} 

File2の:

using System; 

public class GradeBook 
{ 
private string courseName; 

public string CourseName 
{ 
    get 
    { 
     return courseName; 
    } 
    set 
    { 
     courseName = value; 
    } 
} 

public void DisplayMessage() 
{ 
    Console.WriteLine("Welcome to the grade book for \n{0}!", CourseName); 
} 

}

そして、これは私の本からわずか一例であるが、その動作していない理由を把握する必要があります。 "GradeBook myGradeBook = new GradeBook();

+1

ファイルの名前空間とは何ですか?あなたが設定していない場合は、1つを使用し、それを使用して適切なものを追加することをお勧めします:) – TripleEEE

+2

どこに名前空間がありますか?おそらくそれが動作するネームスペースを追加する場合 –

+0

あなたはそれをグーグルでしたか? –

答えて

0

のオブジェクトを作成しようとすると、エラーメッセージが表示されるクラスGradeBookです。問題は、File1の先頭にusing宣言がないことです。あなたは他の依存ファイル、GradeBookを含む特別クラスファイル(ファイル2)「を含める」にコンパイラに指示する必要があります。ここはFile1への修正です:。

using System; 
using GradeBookNameSpace.GradeBook; 

public class GradeBookTest 
{ 
    public static void Main(string[] args) 
    { 
    GradeBook myGradeBook = new GradeBook(); 

    Console.WriteLine("Initial course name is: '{0}'\n", myGradeBook.CourseName); 

    Console.WriteLine("Please enter course name:"); 
    myGradeBook.CourseName = Console.ReadLine(); 
    Console.WriteLine(); 

    myGradeBook.DisplayMessage(); 
    } 
} 

私は名前空間を知らないので、私はそこにGradeBookNameSpaceを書きますGradeBookクラスをご覧ください。これは、

namespace NameSpaceName 
{ 
} 

あなたのクラスを囲むのはどれですか。あなたはこれを必要としないかもしれません。私はそれがあなたのファイル構造に依存する可能性があるか分からない。最初にusing GradeBookを試してみてください。

これが役に立ちます。

+0

特に名前空間は必要ありません。ファイルに名前空間を定義していない場合、コードは名前空間を定義する名前空間をプロジェクトから取得します。ちょうどこれを追加したい、私はあなたが正しいと言うだろう。名前空間を定義する理由はいくつかあります。 – TripleEEE

+0

はい、それは本当です、なぜあなたのファイル構造に依存していると言いましたか?したがって、 'GradeBookを使う'指示文を追加すると、うまく動作するはずです。 – coolboyjules

関連する問題

 関連する問題