3 public interface IOp<T> {
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; }
10 static void Foo<T,OP>(uint v) where T:struct where OP : IOp<T> {
12 System.Console.WriteLine( op.Func(v) );
14 static public void Main() {