Что-то не так с моим событием C#?C#

Место общения программистов C#
Ответить
Anonymous
 Что-то не так с моим событием C#?

Сообщение Anonymous »


Я пытался написать событие, которое выводило бы на экран слово «право» при его вызове, но это не сработало. Есть идеи, как заставить это работать?

Я попробовал вызвать событие с помощью «+=». Затем я попытался изменить объекты на ссылки var, но событие все равно не сработало. По какой-то причине оно все еще не работает. Вот мой код:
//Файл: Program.cs используя PlayerMoveEvent1; использование PlayerMoveEvent2; использование PlayerMoveEvent3; использование PlayerMoveEvent4; использование PlayerMoveEvent5; использование MovementSpace; классная программа { static void Main(string[] args) { //Объекты для объявления событий: вар playerMoved = новый PlayerMoves (); вар moveRight = новый MoveRight(); Движение движение = новое Движение(); Консоль.ReadKey(); если (Console.ReadKey().Key == ConsoleKey.UpArrow) { Console.WriteLine("\nВы продвинулись вперед."); } иначе, если (Console.ReadKey().Key == ConsoleKey.DownArrow) { Console.WriteLine("\nВы вернулись."); } иначе, если (Console.ReadKey().Key == ConsoleKey.LeftArrow) { } иначе, если (Console.ReadKey().Key == ConsoleKey.RightArrow) { playerMoved.Move(движение); playerMoved.PlayerMoved += moveRight.OnPlayerMoved; } еще { System.Console.WriteLine("\nЭто неверное движение."); System.Console.WriteLine("Пожалуйста, повторите попытку."); } } } // Файл: MovementRight.cs использование системы; использование System.Security.Cryptography; использование System.Security.Cryptography.X509Certificates; используя PlayerMoveEvent1; пространство имен PlayerMoveEvent2 { открытый класс MoveRight { public void OnPlayerMoved (источник объекта, аргументы EventArgs) { Console.WriteLine("\nRight"); } } } // Файл: PlayerMove.cs использование системы; используя System.Reflection.Metadata.Ecma335; использование MovementSpace; пространство имен PlayerMoveEvent1 { публичный класс PlayerMoves { публичный делегат void PlayerMovesEventHandler (источник объекта, EventArgs args); публичное событие PlayerMovesEventHandler PlayerMoved; public void Move(Движение движения) { Console.WriteLine("\nВы двигались в этом направлении: "); ОнPlayerMoved(); } защищенная виртуальная пустота OnPlayerMoved() { если (PlayerMoved != ноль) { PlayerMoved(это, EventArgs.Empty); } } } }
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»