Mega Code Archive

 
Categories / C# / Generics
 

Call ToString on generic type

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();     } }