C# in Depth

Cover of C# in Depth
Order now (3rd edition)

Terminology: one interface "extending" another

Chapter 3: Parameterized typing with generics: 3.4.3

Created: 1/29/2008
Last updated: 1/29/2008

Eric picked up on the fact that I talk about IEnumerable<T> extending IEnumerable. It's the correct language in terms of the specification, but Eric's not a big fan of the term. He regards extension as being about reuse of implementation, whereas specifying a "base" interface is about saying that "any object fulfilling this contract must also fulfill this other interface".

Me? I like the term just fine. I don't see any necessary connection between extension and implementation. If someone's adding more provisions to a contract of any description, I'm happy to call that an extension. My guess is that Eric is right in terms of a very computer science specific use of the word extension, but I think the implication to common developers (like me) is clear.

It's rare for me to not be a stickler for appropriate terminology, but I guess in this case I just haven't been exposed to the strictly correct usage enough to worry too much.