C#多重继承 + 多态 + 扩展方法 简单示例

Code:
  1. public interface ITestA {   
  2.         /*  
  3.          * 不加下面这一句输出是  
  4.          * Test.TestA         
  5.          * ITestAHelper.TestA          
  6.          * 加上后输出是  
  7.          * Test.TestA  
  8.          * Test.TestA  
  9.             */  
  10.         //void TestA();   
  11.     }   
  12.     public static class ITestAHelper   
  13.     {   
  14.         public static void TestA(this ITestA obj)   
  15.         {   
  16.             Console.WriteLine("ITestAHelper.TestA");   
  17.         }   
  18.     }   
  19.     public interface ITestB { }   
  20.     public static class ITestBHelper   
  21.     {   
  22.         public static void TestB(this ITestB obj)   
  23.         {   
  24.             Console.WriteLine("ITestBHelper.TestB");   
  25.         }   
  26.     }   
  27.     public class Test : ITestA, ITestB   
  28.     {   
  29.         //此方法与ITestA的TestA()扩展方法相同   
  30.         public void TestA()   
  31.         {   
  32.             Console.WriteLine("Test.TestA");   
  33.         }   
  34.     }   
  35.     class Program   
  36.     {   
  37.         static void Main(string[] args)   
  38.         {   
  39.             Test obj1 = new Test();   
  40.             //下面分别测试2种TestA()调用方式   
  41.             obj1.TestA();   
  42.             ((ITestA)obj1).TestA();   
  43.             Console.ReadKey();   
  44.         }   
  45.     }  

 

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值