I don't really understand what is the difference between:
private void Send<T>(T packet) where T : IPacket
and
private void Send(IPacket packet)
since there's a constraint on generic one, isn't it exactly the same? If not, what is the point difference here and what are the advantages of using generic one with constraint over a simle one?
Thanks!