Не пойму ошибку с присваиванием делегату метода C#
Сейчас знакомлюсь с делегатами на языке C#. Задача состоит в том, что бы создать делегат, класс с символьным полем и методом присваивания значения полю. Затем создать массив объектов созданного класса и записать все свойства присвоения массива в один экземпляр делегата. Затем заполнить массив с помощью экземпляра. Вроде всё сделал, но выдаёт ошибку : "Делегат метода экземпляра не может иметь нулевым 'this'." Не понимаю эту ошибку и прошу помочь с решением проблемы. Вот мой код:
delegate void MyDelegate(char symb);
class Myclass
{
public char sym;
public void Assign(char symb)
{
sym = symb;
}
}
class Program
{
static void Main(string[] args)
{
Myclass[] array;
Console.Write("Введите кол-во элементов массива:");
array = new Myclass[Convert.ToInt32(Console.ReadLine())];
MyDelegate meth = array[0].Assign;
for (int i = 1; i < array.Length; i++)
{
meth += array[i].Assign;
}
meth('A');
for(int i = 0; i < array.Length; i++)
{
Console.Write(array[i].sym + " | ");
}
}
}
Ответы (1 шт):
Автор решения: Igor
→ Ссылка
array = new Myclass[int.Parse(Console.ReadLine())];
for (int i = 0; i < array.Length; i++) {
array[i] = new Myclass();
}
// ...