C#中的拓展方法

拓展方法是为现有非静态变量类型添加的自定义方法,其仅能被写在静态类中,以静态方法呈现。拓展方法允许添加参数,当为某个变量添加的拓展方法与变量内部本身的成员方法重名时,优先调用内部的成员方法,但拓展方法之间是允许重载的。

语法为:

访问修饰符 staic 返回的变量类型 拓展方法名(this 需要拓展的变量名 自定义名,参数类型 参数名1,......)

{

具体逻辑

}

cs 复制代码
using System;
namespace ConsoleApp1
{
    static class Tools 
    {
        //为int变量类型拓展方法
        public static void SpeakValue(this int value,int value2) 
        {
            Console.WriteLine("拓展方法" + value);
            Console.WriteLine("参数1" + value2);
        }
        //为自定义的Test类拓展方法
        public static void SpeakTest(this Test t) 
        {
            Console.WriteLine("自定义类的拓展方法");
        }
    }
    class Test 
    {
        public void Func1() 
        {
            Console.WriteLine("测试方法1");
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            int i = 10;
            i.SpeakValue(6);
            Test t = new Test();
            t.SpeakTest();
        }
    }
}
相关推荐
橘子编程几秒前
Java邮件发送全攻略:从入门到实战
java·开发语言·spring boot·spring·spring cloud·maven
Tizzy JJ10 分钟前
Python + pytest 接口自动化测试框架实战:从零搭建企业级项目骨架
开发语言·python·pytest
海兰11 分钟前
【 Python 量化交易】第8章:量化工具箱
开发语言·python
牛油果子哥q13 分钟前
C++大型项目工程精讲:CMake完整实战、静态库&动态库、模块化拆分、单元测试、gdb调试、性能工具、工程踩坑全解
开发语言·c++·单元测试
Dream Cosmos15 分钟前
C++ 多态上篇:从 virtual 到抽象类,彻底理解多态的使用
开发语言·c++
TheBestRucy16 分钟前
Python九阳神功之柒:数据分析三剑客·执剑问道
开发语言·python·数据分析
qq_3391911435 分钟前
go cpu占比高排查,cpu100%排查,go pprof cpu命令
开发语言·后端·golang
西西弗Sisyphus39 分钟前
Qt 配置文件图标和文件版本信息
开发语言·qt
秋田君1 小时前
Qt_Qt(c++)开发中常见错误与解决方法
开发语言·c++·qt
夏霞1 小时前
c# 不支持的目标框架 解决方案
开发语言·c#