none
C#新手求助,2個.cs檔互通 RRS feed

  • 問題

  • 各位先進:

    小弟是C#新手,有個問題想麻煩各位。
    就是小弟新增2個類別檔(class1.cs 與 class2.cs),然後在class1中 NEW出一個class2的類別,只是小弟一直試都不能順利new出class2的物件,麻煩各位
    先進幫忙。
    PS:是2個類別檔,不是1個。有些書都在一個檔案內,寫很多類別,小弟主要是想讓2個類別檔(.cs)相通。

    以下是小弟的code:
    ///////////////////////////////////////////////////////////
     //第1個類別檔 class1.cs
    using System;

        public class Class1
        {
            public Class1()
            {
         }

            public static void Main()
            {

             Class2 myC2 = new Class2(); //主要是在這邊,小弟想要new出Class2的物件,只是一直失敗,就算是在前面使用using class2 也不行,還是要有     import 之類的語法?

         Console.ReadLine();
            }
        }
    //////////////////////////////////////////////////////////////

    //////////////////////////////////////////////////////////////
      //第2個類別檔 class2.cs
    using System;

        public class Class2
        {
            public Class2()
            {
                Console.WriteLine(">> in class2. constructor");
            }


        }

    /////////////////////////////////////////////////////////////

    2010年8月24日 下午 12:47

解答

  • (1) 這表示你的Class1.cs檔案內容沒有包含和你的Program.cs相同的命名空間

    例如我的Program.cs長這樣

    namespace NewClassTest
    {
        class Program
        {
            static void Main()
            {    
           }
        }
    }

    那Class1.cs一樣要有namespace NewClassTest

    namespace NewClassTest
    {
        class Class1
        {
            public Class1()
            {

            }
        
        }
    }

    (2)如果你的程式起始是Program.cs, 表示它內容中應該就有個static void main, 在C# Console程式中應該是不允許 有兩個main method的.

    (3) 建議你先把以下文件讀幾遍, 以對C#有基本的認識

    [C# 程式設計手冊 ]

    [C# 參考 ]

    (4) 當你發問時, 請一併將錯誤訊息列出, 更多的發問技巧請參考

    [張貼文章應注意事項及應提供資訊 ]


    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。
    • 已標示為解答 Lolota Lee 2010年8月31日 上午 02:38
    2010年8月25日 上午 12:53
    版主
  • 到方案總管,按「顯示全部檔案」,然後在 class2.cs 上面按右鍵,選「加入至專案」

    以後要新增檔案,直接在方案總管上按右鍵,選「加入新項目」即可

    • 已標示為解答 Lolota Lee 2010年8月31日 上午 02:38
    2010年8月25日 上午 01:26
  • Hi,

    如阿尼所述

    您應該透過Visual Studio將程式檔加入專案

    如果在別的地方產生了檔案放入專案目錄

    也要把他加入到專案中

    若是都加到了專案中仍舊找不到

    可能就是命名空間的問題

    這時可以去修改命名空間

    或是把滑鼠移到有問題的程式碼上

    應該會浮現出個按鈕

    點下去會出現選單提供你一些修改的建議


    謙卑學習,持之以恆,才能不斷的Level Up http://www.dotblogs.com.tw/larrynung/
    • 已標示為解答 Lolota Lee 2010年8月31日 上午 02:38
    2010年8月25日 上午 04:06

所有回覆

  • Hi!

    下載此專案看看您的設定有哪裡不一樣 ConsoleApplication.zip


    歡迎參觀我的Blog.NET菜鳥自救會
    2010年8月24日 下午 01:07
    版主
  • 我試了是正常的, 你失敗有出現什麼訊息嗎 ?
    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。
    2010年8月24日 下午 02:43
    版主
  • 小弟是用viaual studio 2008來寫,並使用「主控台應用程式」來寫,只是如和新增一個類別檔(.cs),到Application 裡面,這應該是問題。

    因為小弟新增一個(.cs 檔後),直接儲存到主程式的資料夾裡,只是在方案總管一直看不到新增的「class2」。

    原來小弟的問題是,不會在(v.s 2008裡面)新增一個類別檔。而導致失敗。

    各位先進可以幫忙嗎。

    2010年8月24日 下午 11:41
  • 因為小弟新增並且開始執行,

    出現了以下訊息「   錯誤    1    找不到型別或命名空間名稱 'Class1' (您是否遺漏 using 指示詞或組件參考?)    C:\clssFolder\ConsoleApplication1\ConsoleApplication1\Program.cs    12    13    ConsoleApplication1    」

    不知道是哪裡出錯。

    2010年8月24日 下午 11:48
  • (1) 這表示你的Class1.cs檔案內容沒有包含和你的Program.cs相同的命名空間

    例如我的Program.cs長這樣

    namespace NewClassTest
    {
        class Program
        {
            static void Main()
            {    
           }
        }
    }

    那Class1.cs一樣要有namespace NewClassTest

    namespace NewClassTest
    {
        class Class1
        {
            public Class1()
            {

            }
        
        }
    }

    (2)如果你的程式起始是Program.cs, 表示它內容中應該就有個static void main, 在C# Console程式中應該是不允許 有兩個main method的.

    (3) 建議你先把以下文件讀幾遍, 以對C#有基本的認識

    [C# 程式設計手冊 ]

    [C# 參考 ]

    (4) 當你發問時, 請一併將錯誤訊息列出, 更多的發問技巧請參考

    [張貼文章應注意事項及應提供資訊 ]


    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。
    • 已標示為解答 Lolota Lee 2010年8月31日 上午 02:38
    2010年8月25日 上午 12:53
    版主
  • 到方案總管,按「顯示全部檔案」,然後在 class2.cs 上面按右鍵,選「加入至專案」

    以後要新增檔案,直接在方案總管上按右鍵,選「加入新項目」即可

    • 已標示為解答 Lolota Lee 2010年8月31日 上午 02:38
    2010年8月25日 上午 01:26
  • Hi,

    如阿尼所述

    您應該透過Visual Studio將程式檔加入專案

    如果在別的地方產生了檔案放入專案目錄

    也要把他加入到專案中

    若是都加到了專案中仍舊找不到

    可能就是命名空間的問題

    這時可以去修改命名空間

    或是把滑鼠移到有問題的程式碼上

    應該會浮現出個按鈕

    點下去會出現選單提供你一些修改的建議


    謙卑學習,持之以恆,才能不斷的Level Up http://www.dotblogs.com.tw/larrynung/
    • 已標示為解答 Lolota Lee 2010年8月31日 上午 02:38
    2010年8月25日 上午 04:06