Call ToString on generic type : Generic Type « Generics « C# / C Sharp






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

        








Related examples in the same category

1.A generic class with two generic parameters
2.Deserialize generic typeDeserialize generic type
3.Serialization for generic typeSerialization for generic type
4.Nested generic TypesNested generic Types
5. Output the type information about the generic parameters
6.Inherit Type Parameter
7.Nested Types
8.combining inheritance of generic types and constraints:
9.A generic Point structure.
10.Reference for Generic Types