Переписывал код на Nemerle, попалась конструкция delegate { ... }.
В Nemerle нет такой конструкции, и поэтому нужно указывать все аргументы.
C#
class Program
{
static void F0(Action x) {}
static void F1(Action<object> x) {}
static void F2(Action<object, object> x){}
static void Main()
{
F0(delegate { Console.WriteLine("A"); });
F1(delegate { Console.WriteLine("A"); });
F2(delegate { Console.WriteLine("A"); });
}
}
Nemerle:
module M
{
F0(x : Action) : void {}
F1(x : Action[object]) : void {}
F2(x : Action[object, object]) : void {}
public Main() : void
{
F0(fun() { Console.WriteLine("A") });
F1(fun(_) { Console.WriteLine("A") });
F2(fun(_,_) { Console.WriteLine("A") });
}
}
Здравствуйте, _nn_, Вы писали:
можно так, все же чуть симпатичнее.
>Nemerle:
__>__>module M
__>{
__> F0(x : Action) : void {}
__> F1(x : Action[object]) : void {}
__> F2(x : Action[object, object]) : void {}
__> public Main() : void
__> {
__> F0(fun() { Console.WriteLine("A") });
__> F1(fun(_) { Console.WriteLine("A") });
__> F2(fun(_) { Console.WriteLine("A") });
__> }
__>}
__>