1. 程式人生 > >關於C#程式設計中方法的呼叫

關於C#程式設計中方法的呼叫

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();才可以進行呼叫。