[Mono-dev] misc: C# request info
Jonathan Pryor
jonpryor at vt.edu
Tue Feb 24 12:22:06 EST 2009
On Tue, 2009-02-24 at 20:46 +1000, BGB wrote:
> > C# has some tricky syntax too, some tokens change behaviour of following
> > block. Some are just tricky to parse like generics, nullables, lambdas,
> > etc.
> >
> > Here is one example
> >
> > Foo (x <y, z> (0));
> >
>
> AFAIK the above can't be a generic since a generic can't appear in this
> context (I will assume this being an expression...).
Behold the proof that it works:
public static bool x<T1, T2>(int n) {return n != 0;}
If you have types y and z in scope, and a method Foo(bool), then the
call Foo(x<y,z>(0)) is in fact, valid, calling the method Foo() with the
result of the generic method call x<y,z>(0).
> (funcall Foo (< x y) (> z 0))
>
> unless generics can appear in a expression context, which AFAIK they can't.
In fact, they can, as demonstrated above. Don't forget about generic
methods. :-)
- Jon
More information about the Mono-devel-list
mailing list