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;
}
}
}
