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;
            }
        }
    }
  • 相关阅读:
    C++指针笔记
    破解入门【OllyDebug爆破程序】
    c++类的定义《一》
    数组
    while循环语句的使用
    MS10-046漏洞测试
    For循环语句的使用
    C++Builder编写计算器
    C++自定义函数
    SQLyog简介
  • 原文地址:https://www.cnblogs.com/zmztya/p/5364489.html
Copyright © 2011-2022 走看看