我在初学者一级学习C#。通常在C ++中,如果我们需要访问类的方法/值,我们必须声明一个对象实例,只有对象才能访问该方法。但是在C#.Net中我开始知道静态公共类我们不需要声明对象,直接我们可以使用class.method()名称来调用该方法。当我们引用标准类库类(例如messagebox)时,您能否澄清一下。
System.Windows.MessageBox.ToShow()
System.Windows - 它的名称空间。
ToShow - 其方法
MessageBox - Messagebox在这里是类还是对象?
我相信所有标准的.NET类库名称空间在我们引用任何属于该类的方法时通过构造函数在内部创建对象实例。它的始终对象名称与构造函数创建的类名称相同。如果我的理解是错误的,请纠正我。
谢谢, Karikalan
答案 0 :(得分:5)
MessageBox是类
http://msdn.microsoft.com/en-us/library/system.windows.messagebox.aspx
Show
是MessageBox
类的静态方法。您可以使用 ClassName.MethodName
MessageBox
的另一个问题是它是sealed
类。无法继承sealed类。这意味着您无法从此类派生自定义类。
有关静态类和方法的更多信息已经很好地解释了here
答案 1 :(得分:1)
我相信所有标准的.NET类库名称空间在我们引用任何属于该类的方法时通过构造函数在内部创建对象实例。它的始终对象名称与构造函数创建的类名相同。
完全没有。只能直接从课程中访问静态方法。要调用实例方法,您需要该类的实例(即对象)。
答案 2 :(得分:0)
System.Windows.MessageBox.Show();
System.Windows is namespace
MessageBox is a class
Show is a static method
答案 3 :(得分:0)
MessageBox是一个密封类,它有一个静态方法ToShow()
。要访问静态方法,您不需要创建实例。