Пусть следующий код:F # идиоматический приведение в соответствие шаблону?
override x.OnReceive message =
match message with
| :? SomeActorMessages as m ->
match m with
| Greet(name) -> Console.WriteLine("Hello {0}",name)
| Hi -> Console.WriteLine("Hello from F#!")
| _ -> failwith "unknown message"
Где «сообщение» имеет тип System.Object есть все, что я могу сделать для того, чтобы сделать шаблон соответствия лучше? , например. какой-то общий шаблон или какой-то такой?
Может быть, этот вопрос является слишком коротким, но я просто хочу, чтобы увидеть, если есть способ сделать выше синтаксис лучше
Да, я иногда ударил это ограничение: не допускается для активного шаблона иметь переменную типа, который появляется только в типе возвращаемого значения. – Tarmil