2012-08-14 26 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