Explicit interface implementation
#include "stdafx.h" using namespace System; interface class MyInterface1 { void f(); }; interface class MyInterface2 { void f(); }; ref class MyClass : MyInterface1, MyInterface2 { public: virtual void f1() = MyInterface1::f { Console::WriteLine("MyClass::f1 == MyInterface1::f"); } virtual void f2() = MyInterface2::f { Console::WriteLine("MyClass::f2 == MyInterface2::f"); } }; int main() { MyClass^ r = gcnew MyClass(); MyInterface1^ i1 = r; MyInterface2^ i2 = r; r->f1(); // OK -- call through the object. r->f2(); // OK -- call through the object. i1->f(); // OK -- call f1. i2->f(); // OK -- call f2. }