やりたい事はこういうことでしょう。readonly の意味を正確に理解していないものと推測しています。
C#
1using System;
2using System.Collections.Generic;
3
4class Program
5{
6 public static void Main(string[] args)
7 {
8 var x = new MyClass();
9 Console.WriteLine(x.Numbers[3]); // もちろん読み取りはできる
10
11 // x.Numbers.Add(1); // これは当然できない
12 // x.Numbers.Remove(1); // これは当然できない
13 // x.Numbers.Clear(); // これは当然できない
14
15 x.Numbers[0] = 0; // 書き変えることもできない
16 Console.WriteLine(x.Numbers[0]); // チェックしてみると元の値から変わっていないことがわかる
17 }
18}
19
20class MyClass
21{
22 List<int> _numbers = new List<int>() { 5, 3, 2, 8, 1 };
23
24 public int[] Numbers
25 {
26 get { return _numbers.ToArray(); }
27 }
28}