zoukankan      html  css  js  c++  java
  • 01 扩展方法一

    扩展方法的本质:实际上就是静态方法

    注意:
    1、这个类必须是静态类 【关于扩展方法,为什么要定义的在静态类中,是因为在内存中找到这个方法的速度会更快,这样就提高了性能】
    2、至少要有一个参数,这个参数就是this
    3、静态类中的方法必须为静态方法

    调用静态方法的顺序:
    当一个类中的方法名和方法参数和静态类中的方法名完全一样,这时候,调用的先后顺序是:先调用此类中的方法,如果没有找到此方法,就会去找扩展方法

    扩展方法其实就是C#的一种语法糖

    1、第一步:定义了一个类:Dog

     1 public class Dog
     2     {
     3         /// <summary>
     4         /// DogId
     5         /// </summary>
     6         public int DogId { get; set; }
     7 
     8         /// <summary>
     9         /// 姓名
    10         /// </summary>
    11         public string DogName { get; set; }
    12 
    13         /// <summary>
    14         /// 年龄
    15         /// </summary>
    16         public int DogAge { get; set; }
    17 
    18         /// <summary>
    19         /// 玩具
    20         /// </summary>
    21         public string DogToy { get; set; }
    22 
    23         public override string ToString()
    24         {
    25             string str = string.Empty;
    26             str = "我的号码是:" + DogId + "号;我的名字叫:" + DogName + ";我今年" + DogAge + "岁;" + "我喜欢玩:" + DogToy;
    27             return str;
    28         }
    View Code

     2、第二步:定义个扩展类:DogExtend

    1 public static void SayHi(this Dog dogObj)
    2         {
    3             string str = "大家好,我叫" + dogObj.DogName + ";很高兴认识大家";
    4             MessageBox.Show(str);
    5         }
    View Code

    3、第三步:调用扩展方法 【写了一个测试单元】

     1 public class UnitTest1
     2     {
     3         [TestMethod]
     4         public void TestMethod1()
     5         {
     6             Dog d = new Dog() { DogId = 1, DogName = "小白", DogAge = 10, DogToy = "小球" };
     7             DogExtend.SayHi(d);
     8 
     9             d.SayHi();
    10         }
    11      }
    View Code
  • 相关阅读:
    js用currentStyle和getComputedStyle获取css样式(非行间)
    XMLHttpRequest Level 2 使用指南
    image-set实现Retina屏幕下图片显示[转载]
    Png的秘密
    css清除&闭合浮动
    2016学习计划
    提高性能及操作硬件的能力
    新兵易学,老兵易用----C++(C++11的学习整理---如何减少代码量,加强代码的可读性)
    CV限制符--C++
    能ping通网络,也正常连接,就是打不开网页,无法访问网络
  • 原文地址:https://www.cnblogs.com/hellowawei/p/5948529.html
Copyright © 2011-2022 走看看