I’m building a special collection that needs to implement the generic IList<> interface. The thing is, I want the collection to act like a non-generic fixed-size IList. I don’t want the user to be able to insert or remove objects into the collection.
The IList interface doesn’t implement the IsFixedSize property for some reason. So what’s the best way to do this with the generic IList interface? I could just let the Insert, Remove and RemoveAt methods throw NotImplementedException, and I’d be OK with that, but is there a better, more accepted way?
Tony
One typical way would be to explicitly implement the offending members of
IListlikeAdd,Insert, andRemove, so that they aren’t available to people unless they actually cast your thing toIList. That’s how arrays do it.