1

What is implicit and explicit implementation of interfaces? In which scenario it uses? why its need ? in dot net

1

2 Answers 2

1

Implicit implementation is when you implement the interface member without specifying the interface name at the same time.

public interface IFoo { void Bar(); } public class ClassA : IFoo { //this is implicit public void Bar() { } } public class ClassB : IFoo { //this is explicit: void IFoo.Bar() { } } 

You need explicit implementation when you implement two (or more) interfaces that have a function/property with the same name and signature. In this case the compiler needs to be specifically told which implementation belongs to which interface.

Sign up to request clarification or add additional context in comments.

Comments

1

in the explicit implementation, you use both the name of the interface and the name of the method you're implementing . It allows you to use several methods with the same name in your class (for instance if the class implements several interfaces)

public interface I { void A(); } public class myClass: I { public void I.A() { // do some stuff } } 

read this aricle, it explains quite clearly why you could need explicit implementation: http://blogs.msdn.com/b/mhop/archive/2006/12/12/implicit-and-explicit-interface-implementations.aspx

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.