Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 6043259
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 23, 20262026-05-23T06:52:47+00:00 2026-05-23T06:52:47+00:00

Simply put, Microsoft defined a ReadOnlyCollectionBase , yet did not use it as the

  • 0

Simply put, Microsoft defined a ReadOnlyCollectionBase, yet did not use it as the base class for ReadOnlyCollection<T> when it clearly sounds that this should have been the way.

Am I missing something here? I mean, was there a good reason to NOT make this class the base class?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-23T06:52:48+00:00Added an answer on May 23, 2026 at 6:52 am

    Probably because it’s not generic and implements ICollection whereas ReadOnlyCollection<T> is generic and implements ICollection<T>. Note that ICollection<T> does not implement ICollection. On that topic:

    ICollection<T> seems like ICollection, but it’s actually a very different abstraction. We found that ICollection was not very useful. At the same time, we did not have an abstraction that represented an read/write non-indexed collection. ICollection<T> is such abstraction and you could say that ICollection does not have an exact corresponding peer in the generic world; IEnumerable<T> is the closest.

    From that same post:

    ReadOnlyCollection<T> is a much better ReadOnlyCollectionBase. It’s in System.Collections.ObjectModel namespace.

    Effectively, ReadOnlyCollection<T> is ReadOnlyCollectionBase in the generics space.

    Note, similarly, that IList<T> does not implement IList.

    In general, pre-generics classes do not serve as useful abstractions for generic classes (with the exception of IEnumerable).

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

Very simply put: I have a class that consists mostly of static public members,
Simply put; what does my $99 get me, that I can't already get for
Simply put, if you had to use a IoC/DI container, thats easy to deploy
I simply use commandName = Edit to put the gridview into edit mode. Then
is there any way to programatically remove all microsoft html formatting that gets put
Simply put, is there a way to create a 2D javascript array using similar
Simply put, MVC is the pattern for separating contents (model) from presentation (view), and
Simply put, I have a table with, among other things, a column for timestamps.
Very simply put, I have the following code snippet: FILE* test = fopen(C:\\core.u, w);
I have a new project which simply put, is an attempt to formalize the

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.