using System;
using System.Collections.Generic;
using System.Text;
public class HelloGenerics<T> {
private T _thisTalker;
public T Talker {
get { return this._thisTalker; }
set { this._thisTalker = value; }
}
public void SayHello() {
string helloWorld = _thisTalker.ToString();
Console.WriteLine(helloWorld);
}
}
public class GermanSpeaker {
public override string ToString() {
return "GermanSpeaker!";
}
}
public class SpainishSpeaker {
public override string ToString() {
return "SpainishSpeaker";
}
}
public class EnglishSpeaker {
public override string ToString() {
return "EnglishSpeaker";
}
}
class Program {
static void Main(string[] args) {
HelloGenerics<GermanSpeaker> talker1 = new HelloGenerics<GermanSpeaker>();
talker1.Talker = new GermanSpeaker();
talker1.SayHello();
HelloGenerics<SpainishSpeaker> talker2 = new HelloGenerics<SpainishSpeaker>();
talker2.Talker = new SpainishSpeaker();
talker2.SayHello();
}
}
|