zoukankan      html  css  js  c++  java
  • C# 扩展方法 白话总结

    我们在变成的时候时常遇到这样的问题,new了一个系统内的对象之后,我们想要对该对象有一个方法可是却点不出来,说明该对象本身没有声明该方法,可是微软又不允许我们去该对象的代码,怎么办?

    在C# 3.0  微软加入了扩展方法,那么扩展方法怎么用呢?


    比如我们需要在int里面 生命一个方法,返回的值是int+5,比如:

      public static int IntAdd5(int i)
            {
                return i + 5;
            }

    用的时候应该是这么用的
     static void Main(string[] args)
            {
                int i = 0;
                Console.WriteLine(IntAdd5(i));
            }

    确实能用,但是不完美,能不能像微软在int类型里声明的方法那样,直接i.IntAdd5()这样来用呢? 用扩展方法可以实现

    用扩展方法,首先需要声明一个静态类,然后在这个静态类里面声明一个静态方法,静态方法里面的第一的位置,要this int i ,这样用的

      public static class  KuoZhan
        {
            public static int IntAdd5(this int i)
            {
                return i + 5;
            }
        }

    这里的第一个不是参数,而是你想要扩展的那个类型的名称,换句话说,你想要扩展哪个类型,这里只要扩展哪个类型就行了。

    用的话是这么用的。

       static void Main(string[] args)
            {
                int i = 0;
                Console.WriteLine(i.IntAdd5());
            }

    没错,是直接点出来的,很爽有没有??

    简单说到这里哦,谢谢!


  • 相关阅读:
    google 语音识别返回,
    如果到来,会是怎样情况,fuck,
    sql
    阅读《一》
    阅读,
    Codevs 1078 ==Poj 1258 Agri-Net
    洛谷 P3399 丝绸之路
    线段树-代码实现细节与技巧
    Codevs 1371 浴火银河跑运输
    POJ 3267 The Cow Lexicon
  • 原文地址:https://www.cnblogs.com/CoderAyu/p/8490144.html
Copyright © 2011-2022 走看看