class C<T,U,V> where T : class where V :struct {
public void Fct1( T t , U u , V v , object o, int i) {
if ( t == o ) { } // OK
if ( u == o ) { } // Compilation error.
if ( v == o ) { } // Compilation error.
if ( v == i ) { } // Compilation error.
if ( u == null ) { } // OK
if ( v == null ) { } // Compilation error.
}
public void Fct2(T t1, U u1, V v1, T t2, U u2, V v2) {
if ( t1 == t2 ) { } // OK
if ( u1 == u2 ) { } // Compilation error.
if ( v1 == v2 ) { } // Compilation error.
}
}