2005-06-05 Peter Bartok <pbartok@novell.com>
[mono.git] / mcs / tests / gen-150.cs
1 using System;
2 static class Test1 {
3   public interface IOp<T> {
4     T Func(uint v);
5   }
6   public struct Op : IOp<ushort>, IOp<uint> {
7     ushort IOp<ushort>.Func(uint v) { return (ushort )(v * 2); }
8     uint IOp<uint>.Func(uint v) { return v * 4; }
9   }
10   static void Foo<T,OP>(uint v) where T:struct where OP : IOp<T> {
11     OP op = default(OP);
12     System.Console.WriteLine( op.Func(v) );
13   }
14   static public void Main() {
15     Foo<ushort, Op>(100);
16     Foo<uint, Op>(100);
17   }
18 };