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

    扩展方法是静态方法,它是类的一部分,但实际上没有放在类的源代码中。

    设计一个Money类

     1     public class Money
     2     {
     3         private decimal amount;
     4         public decimal Amount
     5         {
     6             get;
     7             set;
     8         }
     9         public override string ToString()
    10         {
    11             return "$" + Amount.ToString();
    12         }
    13     }

    假设向Money类中添加一个方法AddToAmount,但是程序的源代码不能直接修改,此时就需要创建一个静态类,将方法AddToAmount()添加为一个静态方法,对应代码如下:

        public static class MoneyExtension
        {
            public static void AddToAmount(this Money money, decimal amountToAdd)
            {
                money.Amount += amountToAdd;
            }
        }

    对于扩展方法,第一个参数是要扩展的类型,它放在this关键字的后面,这就告诉编译器,这个方法是Money类的一部分。

    在执行新方法的时候,不需要第一个参数,如下:

     1 Cash1.AddToAmount(10M); 

    即使扩展方法是静态的,也要使用标准的实例方法语法。

    如果您觉得感兴趣的话,可以添加我的微信公众号:一步一步学Python
  • 相关阅读:
    数据持久化
    计算机中的上下文
    URL
    MVC之Control中使用AOP
    富客户端
    一些术语的解释
    docker mysql 安装
    用C#开发Windows服务
    java 图片文件Base64编码与二进制编码格式互相转换
    Camera打开前置摄像头或后置摄像头
  • 原文地址:https://www.cnblogs.com/xingzhui/p/5682159.html
Copyright © 2011-2022 走看看