C#在VS编程中,方法的定义以及调用:
诺在同一命名空间,同一类下的方法调用:
如果方法声明中有static,可以直接使用该类名进行调用。由于是在同一类下的方法,所以在调用方法时可以不用加类名称。例如程序:
namespace STA
{
class Program
{
static void Main(string[] args)
{
Program.Xianshi();
Xianshi();
Console.ReadLine();
}
public static void Xianshi()
{
Console.WriteLine("这是静态");
}
}
}
这是显示结果:
如果方法申明中没有static,则需要对该方法所在的类进行事例化再调用。例如程序:
namespace STA
{
class Program
{
static void Main(string[] args)
{
Program DONG=new Program();
DONG.Xianshi();
Console.ReadLine();
}
public void Xianshi()
{
Console.WriteLine("这是非静态");
}
}
}
这是显示结果:
以上就是在同一类中方法的调用。
下面讲的是在同一命名空间下不同类间的调用,只要该类中的调用的方法都是static则只需要在前面加上命名类就可调用。例如程序:
namespace STA
{
class Program
{
static void Main(string[] args)
{
Buyilei.Differ();
Qitalei.Differ1();
}
}
class Buyilei
{
public static void Differ()
{
Console.WriteLine("这是不同类");
Console.Read();
}
}
class Qitalei
{
public static void Differ1()
{
Buyilei.Differ();
}
}
}
这是显示结果:
诺该类下的方法不是static的方法,则在调用改类的方法时需要对该类进行实例化。例如程序:
namespace STA
{
class Program
{
static void Main(string[] args)
{
Buyilei.Differ();
Qitalei qita = new Qitalei();
qita.Differ1();
}
}
class Buyilei
{
public static void Differ()
{
Console.WriteLine("这是不同类中的非静态方法");
Console.Read();
}
}
class Qitalei
{
public void Differ1()
{
Buyilei.Differ();
}
}
}
这是显示结果:
下面则讲在不同命名空间下的方法调用
使用不同命名空间下的方法进行调用时,唯一不同的是要在开始出添加using 该命名空间,其他操作类似于上面的用法。例如程序:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using QTA;
namespace STA
{
class Program
{
static void Main(string[] args)
{
Buyilei.Differ();
Qitalei qita = new Qitalei();
qita.Differ1();
}
}
}
namespace QTA
{
class Buyilei
{
public static void Differ()
{
Console.WriteLine("这是不同命名空间中的非静态方法");
Console.Read();
}
}
class Qitalei
{
public void Differ1()
{
Buyilei.Differ();
}
}
}
总结以上方法调用可以发现:
对于静态方法调用时:首先方法的调用一般都要在方法前加上该类名称,例如 Buyilei.Differ();
以防止不同类中有相同的方法名称,而处于同一类中的方法则可以不用加该类名称。
同时对于非静态的方法调用时,需要对该非静态方法的类进行实例化,例如Qitalei qita = new Qitalei(); qita.Differ1();
才可以进行调用。