В википедии, в статье, посвященной обобщенному програмированию, как пример, приведен кусочек кода на C#:
// На платформе .NET средства обобщённого программирования появились в версии 2.0.
interface IPerson
{
string GetFirstName();
string GetLastName();
}
class Speaker
{
public void SpeakTo<T>(T person) where T : IPerson
{
string name = person.GetFirstName();
this.say("Hello, " + name);
}
}
Сам по себе смысл ясен, но непонятно, чем это лучше этого:
interface IPerson
{
string GetFirstName();
string GetLastName();
}
class Speaker
{
public void SpeakTo(IPerson person)
{
string name = person.GetFirstName();
this.say("Hello, " + name);
}
}
?