I’m looking at LinkedList class implementation in C# and I cannot understand how
Add method is hidden.
LinkedList implements ICollection which has an Add method. In the LinkedList class code the Add method is declared as:
void ICollection<T>.Add(T value);
How it is possible to have internal method which is declared in the interface?
The interface is implemented explicitly.
Explicilty implemented interface members can only be accessed through an instance of the implemented interface, like so:
Check this SO question and answer for more information: implicit vs explicit interface implementation