关于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();才可以进行调用。

  • 7
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值