public static void CopyProperties<T1, T2>(T1 objA, T2 objB) where T1 : new()
{
}
此方法的上述签名编译,但我也想为T2
添加相同的“新”条件
签名我已经尝试但不工作:
public static void CopyProperties<T1, T2>(T1 objA, T2 objB) where T1, T2 : new()
public static void CopyProperties<T1, T2>(T1 objA, T2 objB) where T1 : new(), where T2 : new()
答案 0 :(得分:5)
public static void CopyProperties<T1, T2>(T1 objA, T2 objB)
where T1 : new()
where T2 : new()
{
}
答案 1 :(得分:1)
只需在最后添加约束:
public static void CopyProperties<T1, T2>(T1 objA, T2 objB) where T1 : new() where T2 : new()
{
}
答案 2 :(得分:1)
试试这个:
public static void CopyProperties<T1, T2>(T1 objA, T2 objB)
where T1 : new()
where T2 : new()
答案 3 :(得分:0)
此代码提取将为您提供所需内容,对于要为其添加约束的每种类型使用where关键字非常重要,新关键字需要是每种类型的最后一个约束。这是一个例子
static void CopyProperties<T1, T2>(T1 objA, T2 objB)
where T1 : class, new()
where T2 : class, new()