Mi chiedevo se è possibile aggiungere più vincoli generici?C# Vincoli generici multipli
Ho un metodo Add che prende un oggetto (O-mail, telefono o indirizzo), quindi stavo pensando qualcosa del tipo:
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);
}
Ma io continuo a ricevere:
"A constraint clause has already been specified for type parameter 'T'. All of the constraints for a type parameter must be specified in a single where clause."
Così, come enumerare più di un insieme generico quali ** ** fortemente tipizzata di 'types' eterogenea come qualsiasi altro normale IEnumerable? –
@AngshumanAgarwal - Presumo che questo non sia un metodo 'Add' su una collezione in quanto non avrebbe molto senso. –
Supponiamo, se ho un'interfaccia 'IWalk, IRun e IBothWalkRun'. Ora, voglio creare una raccolta eterogenea fortemente tipizzata di tutti i tipi e scorrere su in modo tale che stampi tutti IWalk, IRun e IBothWalkRun? Ha senso? –