Я думаю, это может быть то, что вы ищете.
Скомпилируйте приведенный ниже код, и вы получите следующее сообщение об ошибке: Свойство или индексатор 'Stack2.MyReadOnlyBytes.this [int]' не могут быть назначены - оно доступно только для чтения
public class MyReadOnlyBytes
{
private byte[] myData;
public MyReadOnlyBytes(byte[] data)
{
myData = data;
}
public byte this[int i]
{
get
{
return myData[i];
}
}
}
class Program
{
static void Main(string[] args)
{
var b = File.ReadAllBytes(@"C:\Windows\explorer.exe");
var myb = new MyReadOnlyBytes(b);
Test(myb);
Console.ReadLine();
}
private static void Test(MyReadOnlyBytes myb)
{
Console.WriteLine(myb[0]);
myb[0] = myb[1];
Console.WriteLine(myb[0]);
}
}