C# Multiple generic constraints?

You can't do that. Why not just have three methods and let the compiler do the hard work for you? Public void Add(Address address) { m_Address.

Add(address); } public void Add(Email email) { m_Email. Add(email); } public void Add(Phone phone) { m_Phone. Add(phone); }.

CLR does not allow multiple inheritance, which is precisely what you're trying to express. You want T to be Address, Email an Phone at the same time (I assume those are class names). Thus is impossible.

What's event more, this whole method makes no sense. You'll either have to introduce a base interface for all three classes or use three overloads of an Add method.

2 @Anton, I think the OP is asking about OR constraints (not AND). – bruno conde Jul 24 '09 at 10:56.

But looking at your code, seems that you're not using generic well enough. The point of using generic is that you don't need to cast it into any particular type (in this case, you are).

You don't get any real benefits from generics in this case. I would just create different Add methods for each parameter Type.

In that case, I wouldn't bother, as you are comparing types anyway. Use this: public void Add(object Obj { if (Obj is Address) m_Address. Add(Obj as Address); else if (Obj is Email) m_Email.

Add(Obj as Email); else if (Obj is Phone) m_Phone. Add(Obj as Phone); else return; } I don't think multiple clauses are supported. You could also have separate method overloads too.

Where T : C1, C2, C3. Comma separated for constraints. Try using Base class or interfaces.

This doesn't work, hence the minus 1 – eggheaddesign Aug 20 at 14:03.

I cant really gove you an answer,but what I can give you is a way to a solution, that is you have to find the anglde that you relate to or peaks your interest. A good paper is one that people get drawn into because it reaches them ln some way.As for me WW11 to me, I think of the holocaust and the effect it had on the survivors, their families and those who stood by and did nothing until it was too late.

Related Questions