Gen has two type arguments and both have a where clause.
using System;
class Gen<T, V> where T : class
where V : struct {
T ob1;
V ob2;
public Gen(T t, V v) {
ob1 = t;
ob2 = v;
}
}
class MainClass {
public static void Main() {
Gen<string, int> obj = new Gen<string, int>("test", 11);
// wrong because bool is not a reference type.
// Gen<bool, int> obj = new Gen<bool, int>(true, 11);
}
}