Generic types constraint for parameterless constructor in C#
Forums:
class Car {
public string Name { get; set; }
public Car(string name) {
Name = name;
}
}
class Truck {
public string Name { get; set; }
}
static void Swap<T>(ref T a, ref T b) where T : new() {
var tmp = a;
a = b;
b = tmp;
}
var c1 = new Car("Cami");
var c2 = new Car("Rush");
Swap(ref c1, ref c2);//<- Error
var t1 = new Truck { Name = "Kamaz" };
var t2 = new Truck { Name = "Ural" };
Swap(ref t1, ref t2);
- Log in to post comments