
Implicit is when you define your interface via a member on your class. Explicit is when you define methods within your class on the interface. I know that sounds confusing but here is what I mean: IList.CopyTo would be implicitly implememnted as:
public void CopyTo(Array array, int index)
{
throw new NotImplementedException();
}
and explicity as:
void ICollection.CopyTo(Array array, int index)
{
throw new NotImplementedException();
}
The difference being that implicitly is accessible throuh your class you created when it is cast as that class as well as when its cast as the interface. Explicit implentation allows it to only be accessible when cast as the interface itself.
myclass.CopyTo //invalid with explicit
((IList)myClass).CopyTo //valid with explicit.
Happy Coding,
If it helps you or directs U towards the solution,
MARK IT AS ANSWER Programmer123, if this helps please login to Mark As Answer. | Alert Moderator