zoukankan      html  css  js  c++  java
  • c#扩展方法的理解(二:接口)

    namespace ExtensionInterfaceMethod
    {
        class Program
        {
            static void Main(string[] args)
            {
                //使用接口变量来调用扩展方法
                IBasicInterface bii = new BasicImplement();
                bii.SubStract(9, 3);            
            }
        }
        //先创建一个简单的接口
        public interface IBasicInterface
        {
            int Add(int x, int y);
        }
        //创建一个实现该接口的类
        public class BasicImplement : IBasicInterface
        {
            #region IBasicInterface 成员
            public int Add(int x, int y)
            {
                return x + y;
            }
            #endregion
        }
    }

    如果想要为该接口IBasicInterface增加一个相减的Subtract方法,在扩展方法中新定义一个Subtract方法。

    namespace ExtensionInterfaceMethod
    {
        public static class ExtensionMethodClass
        {
            public static int SubStract(this IBasicInterface basicinterface, int x,int y);
        }
    }

    因为是接口扩展方法,所以不打算为这个扩展方法提供任何代码实现。

    编译时运行报错,解决方法,在接口扩展方法中实现代码。

    namespace ExtensionInterfaceMethod
    {
        public static class ExtensionMethodClass
        {
            public static int SubStract(this IBasicInterface basicinterface, int x, int y)
            {
                //尽管是扩展一个接口,但是还是必须添加对方法的实现
                return x - y;
            }
        }
    }
  • 相关阅读:
    CentOS 网络配置
    BUUCTF-PWN爬坑-04-pwn1_sctf_2016
    BUUCTF-PWN爬坑-03-warmup_csaw_2016
    BUUCTF-PWN爬坑-02-rip
    此博客早八百年已停止维护
    重&长剖
    FHQ Treap
    NOIP2020游记
    CSP2020 游记
    线段树套平衡树
  • 原文地址:https://www.cnblogs.com/zmztya/p/5364489.html
Copyright © 2011-2022 走看看