Я сейчас работаю через «A C# Crash Course» RB Whitaker. Я на Polymorphism главе в данный момент, и я застрял на этой части:Сложное определение метода C#
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Inheritance
{
public enum MoveDirection { None, Left, Right, Up, Down };
class Player
{
public virtual MoveDirection MakeMove()
{
return MoveDirection.Left;
}
}
}
Я все понимаю до:
public virtual MoveDirection MakeMove()
Использование public virtual
и MakeMove()
имеет смысл. Однако я не понимаю, почему перечисление (MoveDirection
) помещено перед методом MakeMove()
. Я подозреваю, что это имеет какое-то отношение к тому, где эта часть учебника:
Мы определяем наш метод MakeMove(), который использует перечисление, которое мы создали как параметр, и добавляем ключевое слово virtual.
Означает ли это, что для использования перечисления в качестве параметра для метода оно должно быть помещено перед методом, а не между круглыми скобками?
Любая помощь будет высоко оценена.
Это не показатель, это тип возвращаемого значения/Справка. –
Нет, это просто означает, что метод возвращает значение 'MoveDirection', так же, как' public virtual int foo() 'означает, что' foo' возвращает 'int'. Я думаю, что описание, которое автор дал, неверно и должно читать * «перечисление, которое мы создали как возвращаемое значение» * –
Кажется, вы должны переключиться на другой учебник; 0 – BartoszKP