2012-08-14 28 views
1

這是我創建的一個簡單程序 - 一個表類,一個主類。在表格類中,我創建了一個簡單輸出我的名字的打印方法。從主類我打電話打印方法,但沒有得到輸出。錯誤 - 程序在調用打印方法時未給出輸出

namespace ConsoleApplication3 
{ 

    class table 
    { 

     public static void print() 
     { 
      Console.WriteLine("My name is prithvi-raj chouhan"); 
     } 
    } 

    class Program 
    { 
     public static void Main() 
     { 
      table t = new table(); 
      t.print(); // Error the program is not giving output while calling the print method 

     } 
    } 


} 

回答

2

由於您要調用的函數是靜態的。 使用此語法從MSDN

public static void Main() 
     { 
      table.print();  
     } 

報價: -

靜態方法,字段,屬性或事件是一個類時,已創建任何類的實例,即使 調用。 如果創建了類別 的任何實例,則它們不能用於訪問靜態 成員。只有一個靜態字段和事件副本存在,而靜態方法和屬性只能訪問靜態字段和靜態的事件。靜態成員通常用於表示不響應對象狀態而改變的數據或計算結果;對於 實例,數學庫可能包含計算 正弦和餘弦的靜態方法。

+0

謝謝。你可以解釋一下靜態和實例方法之間的一點點。如果我是對的,這兩個用於方法。預先感謝 – Geek 2012-08-14 11:47:05

+1

你可以看看這裏http://msdn.microsoft.com/en-us/library/79b3xss3 (v = vs.80).aspx,它有很多東西供你學習。 – perilbrain 2012-08-14 11:49:13

+0

謝謝,真的有幫助:) – Geek 2012-08-14 11:57:35

1

printstatic方法,所以把它作爲一個靜態方法:

public static void Main() 
{ 
    table.print(); 
} 
+0

感謝真正幫助的朋友:) – Geek 2012-08-14 12:15:02

-1

嘗試table.print();後添加Console.ReadLine();

UPDATE:

錯過了部分靜態,現予以更正。

+0

呃,可以@downvoter請解釋一下嗎?很高興幫助Geek,請對所有幫助你的答案進行投票,並將最能幫助你的答案作爲正確答案進行檢查。 – 2012-08-14 12:04:43

0

試試這個:

class Program 
    { 
     public static void Main() 
     { 
      table.Print(); 

     } 
    } 

打印();是一個靜態方法,所以你不需要實例化一個新的Table對象以訪問它的方法

+0

非常感謝謝謝很多人:) – Geek 2012-08-14 11:58:27

0

你正在調用print()作爲實例方法,但它是靜態的。嘗試從方法中刪除static關鍵字。

+0

感謝隊友真的很有幫助:) – Geek 2012-08-14 11:58:10