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() {