Tony Johansson wrote:
Quote:
Hello!
>
The Array class implements these interfaces IClonable, IList, ICollection
and IEnumerable.
Note only interfaces are inherited and no classes so these interfaces will
be implemented in the derived class.
>
In Interface IList have a couple of members that is not available from the
Array object.
For example if I do the following
int[] vector = new int[5];
And then use the intellisense on instance vector I can't see for example
Add, Remove RemoveAt
there are more but these are just example of members that are not available
from the vector instance.
>
So my question is how is this possible?
I must have missed something here about implementing interfaces !
I have always thought that all implemented members must be accessible from
the derived class which
is not the case in this example.
>
//Tony
>
They are accessible from the class, but they are implemented explicitly,
which means that you need an IList reference to access them.
This compiles:
((IList)someArray).Add(42);
Of course it throws a NotSupportedException if you try to run the code.
--
Göran Andersson
_____
http://www.guffa.com