słowo kluczowe tylko do odczytu nie tworzy listy <> tylko do odczytu?

Mam następujący kod w publicznej klasie statycznej:

<code>public static class MyList
{
    public static readonly SortedList<int, List<myObj>> CharList;
    // ...etc.
}
</code>

.. ale nawet używającreadonly Nadal mogę dodawać elementy do listy z innej klasy:

<code>MyList.CharList[100] = new List<myObj>() { new myObj(30, 30) };
</code>

lub

<code>MyList.CharList.Add(new List<myObj>() { new myObj(30, 30) });
</code>

Czy istnieje sposób, aby uczynić rzecz tylko do odczytu bez zmiany implementacji CharList (spowoduje to złamanie niektórych rzeczy)? Jeśli muszę zmienić implementację (aby była niezmienna), jaki byłby najlepszy sposób? Potrzebuję go do listy <T, T>, więc ReadOnlyCollection tego nie zrobi

questionAnswers(3)

yourAnswerToTheQuestion