扩展方法的使用

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace LInqDemo
{
    class Program
    {
        static void Main(string[] args)
        {
            int num = 500;
            string name = "小位";
            Console.WriteLine(name.StuInfo() + num.GetAvg());//扩展方法的使用
            Console.WriteLine(name.StuInfo(99));//扩展方法的使用
Console.ReadKey(); } } /// <summary> /// 扩展方法,扩展类,扩展类必须是静态类 /// </summary> static class ExtendMethod { public static int GetAvg(this int sum)//int类型的扩展方法,this代表当前变量 { return sum / 5; } public static string StuInfo(this string name)//string类型的扩展方法 { return string.Format($"{name},您好,您的5门课程的平均分为:"); }
      public static string StuInfo(this string name, int num)//string类型的扩展方法
        {
            return string.Format($"{name},您好,您的5门课程的平均分为:{num}");
        }
}}

如果一个类是sealed类型的(密封类,不能被继承),这时可以通过扩展类,来扩展

如果扩展类和本身类里的方法重名时,优先使用本身类中的方法

扩展类不可使用太多,静态类,比较占内存

猜你喜欢

转载自blog.csdn.net/sinat_41746494/article/details/80992897