> If I instead have a class that implement an interface these will not be
> shown with arrows in the class diagram.
Looks like fairly standard UML-representation to me... the arrow
implies inheritance, which isn't the case for an interface
implementation (the lollipop). I don't know what other tools would
offer, but I've never found this a problem.
> I just wonder which is best to use explicit inherit implementation or
> implicit implementation.
If it makes sense for a regular caller to use the methods, then make
it implicit (since you want the public methods anyway).
If the interface is only used in specific circumstances
(ICustomTypeDescriptor, ITypedList, for example) - then make it
explicit.
If the names would be confusing, or you implement 2 interfaces with
the same method name (but different meaning) then use explicit.