In my VS2008 SP1, .NET 3.5 SP1 project, I have different classes that contain different properties.
I use C#3.0 auto properties a lot.

Some of these properties need to be collections. Since I want to make it simple, I use `ReadOnlyCollection<T>` for these properties.

I don't want to use `IEnumerable<T>` since I want random access to the elements.

I use Code Analysis (FxCop rules) and I get the CA2227 warning.

I don't understand why does `ReadOnlyCollection<T>` should have a set method while it can't be changed... The set method can only do exactly what the property can do.

Example:

```
using System.Collections.ObjectModel;

namespace CA2227
{
    public class MyClass
    {
        public ReadOnlyCollection<int> SomeNumbers { get; set; }
    }
}

```

CA2227 : Microsoft.Usage : Change 'MyClass.SomeNumbers' to be read-only by removing the property setter. C:\Users...\Visual Studio 2008\Projects\CA2227\MyClass.cs 7 CA2227