我想知道是否可以添加多个通用约束?
我有一个Add方法,它接受一个对象(电子邮件、电话或地址),所以我在想是否可以这样做:
public void Add<T>(T Obj)
where T : Address
where T : Email
where T : Phone
{
if (Obj is Address)
m_Address.Add(Obj as Address);
else if (Obj is Email)
m_Email.Add(Obj as Email);
else
m_Phone.Add(Obj as Phone);
}
但我一直收到以下错误提示:
"已为类型参数 'T' 指定了约束子句。类型参数的所有约束必须在单个 where 子句中指定。"
异构类型
,就像任何其他正常的IEnumerable<T>一样? - Angshuman AgarwalIWalk,IRun 和 IBothWalkRun
。现在,我想从所有类型中制作强类型异构集合,并迭代它们以打印所有实现了IWalk,IRun 和 IBothWalkRun
的接口的类型。这样做有意义吗? - Angshuman Agarwal