コード例 #1
0
 static void Main(string[] args)
 {
     Dog            dog    = new Dog();
     Poo            dogPoo = dog.Excrement;
     Cat            cat    = new Cat();
     RadioactivePoo catPoo = cat.StronglyTypedExcrement();
 }
コード例 #2
0
    static void Main(string[] args)
    {
        var           dog     = new Dog();
        var           cat     = new Cat();
        IAnimal <Poo> animal1 = dog;
        IAnimal <Poo> animal2 = cat;
        Poo           dogPoo  = dog.Excrement;
        //RadioactivePoo dogPoo2 = dog.Excrement; // Error, dog poo is not RadioactivePoo.
        Poo            catPoo     = cat.Excrement;
        RadioactivePoo catPoo2    = cat.Excrement;
        Poo            animal1Poo = animal1.Excrement;
        Poo            animal2Poo = animal2.Excrement;

        //RadioactivePoo animal2RadioactivePoo = animal2.Excrement; // Error, IAnimal<Poo> reference do not know better.
        Console.WriteLine("Dog poo name: {0}", dogPoo.Name);
        Console.WriteLine("Cat poo name: {0}, decay period: {1}", catPoo.Name, catPoo2.DecayPeriod);
        Console.WriteLine("Press any key");
        var key = Console.ReadKey();
    }