關於C#程式設計中方法的呼叫
阿新 • • 發佈:2018-12-01
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();
才可以進行呼叫。