DefineIMyInterface
{
System;
IMyInterface
{
MethodB();
}
}
Extensions
{
System;
DefineIMyInterface;
Extension
{
MethodA( IMyInterface myInterface, i)
{
Console.WriteLine
();
}
MethodA( IMyInterface myInterface, s)
{
Console.WriteLine
();
}
MethodB( IMyInterface myInterface)
{
Console.WriteLine
();
}
}
}
ExtensionMethodsDemo1
{
System;
Extensions;
DefineIMyInterface;
A : IMyInterface
{
MethodB() { Console.WriteLine(); }
}
B : IMyInterface
{
MethodB() { Console.WriteLine(); }
MethodA( i) { Console.WriteLine(); }
}
C : IMyInterface
{
MethodB() { Console.WriteLine(); }
MethodA( obj)
{
Console.WriteLine();
}
}
ExtMethodDemo
{
Main([] args)
{
A a = A();
B b = B();
C c = C();
a.MethodA(1);
a.MethodA();
a.MethodB();
b.MethodA(1);
b.MethodB();
b.MethodA();
c.MethodA(1);
c.MethodA();
c.MethodB();
}
}
}