Explicitly implement an interface member
using System;
interface MyInterface {
bool MyMethodA(int x);
bool MyMethodB(int x);
}
class MyClass : MyInterface {
// Explicit implementation.
bool MyInterface.MyMethodA(int x) {
if((x%2) != 0)
return true;
else
return false;
}
// Normal implementation.
public bool MyMethodB(int x) {
MyInterface o = this; // reference to invoking object
return !o.MyMethodA(x);
}
}
class MainClass {
public static void Main() {
MyClass ob = new MyClass();
bool result;
result = ob.MyMethodB(4);
if(result) Console.WriteLine("4 is even.");
// result = ob.MyMethodA(4); // Error, MyMethodA not directly accessible
MyInterface iRef = (MyInterface) ob;
result = iRef.MyMethodA(3);
if(result) Console.WriteLine("3 is odd.");
}
}
Output 4 is even.
3 is odd.
|
HTML code for linking to this page:
Related in same category :
-
-
-
-
|