OriginalGriff
Вы не можете создать массив void
- это специальное ключевое слово, которое означает "не возвращает значения", и это вообще не тип данных. Вы можете создавать только массивы ссылочных типов и типов значений, оба из которых являются производными от object
и void
ни один из этих.
То, что вы пытаетесь сделать, это настроить массив делегатов, которые не возвращают никакого значения:
private delegate void pd();
Затем вы можете использовать их в своем коде:
pd[] stack01 = { Card01, Card02 };
stack01[0]();
Console.WriteLine(point);
stack01[1]();
Console.WriteLine(point);
_Q12_
Ух ты, очень круто !
но я получаю красные волнистые линии внутри объявления массива.
"Инициализатор поля не может ссылаться на нестатическое поле, метод или свойство ..."
Я использую VS2010-не последнюю версию.
OriginalGriff
Это происходит потому, что вы помещаете объявление вне метода, а инициализация пытается ссылаться на нестатические (т. е. специфичные для экземпляра класса) методы.
Если вам нужно использовать нестатические методы, то вы не можете использовать инициализатор вне нестатического метода.
Попробовать это:
частная делегата недействительными др();
частная др[] stack01 = нуль;
а затем поместите это в свой конструктор класса:
stack01 = новый pd [] { Card01, Card02 };