Array
(
)

[C-Sharp] Percorrer enum em loop

Hugo
   - 17 out 2016

Eu tenho um enum com 4 direções, e preciso pegar o próximo valor no sentido horário, então quando chegar no ultimo valor do enum eu precisaria retornar para o primeiro.
#Código

public enum Direcao{
Norte = 0,
Leste = 1,
Sul = 2,
Oeste = 3
}

Então se fosse passado Direcao.Oeste seria retornado Direcao.Norte.
Qual é a melhor maneira para pegar a "próxima" direção?
Obrigado.