泛型方法

泛型方法 是方法的模子

可以存在与泛型类或普通类中,泛型方法的泛型参和泛型类的泛型参是相互独立的。

  class Program
    {
        static void Main(string[] args)
        {
           //泛型方法引用
         
            DD.IsHappy<Dog>(new Dog("KK"));
            DD.IsHappy<int>(3);
        }

    }
abstract public class Pet
    {
        protected string Name;
        protected int Age;
        public Pet(string name)
        {
            Name = name;
            Age = 0;
        }
        public void PrintName()
        {
            Console.WriteLine("Print" + Name);
        }
        public static Pet operator ++(Pet pet)
        {
            ++pet.Age;
            return pet;
        }
        public void ShowAge()
        {
            Console.WriteLine(Name+ " Age = " + Age);
        }
     
        abstract public void Speak();
    }
    public class Dog : Pet
    {
        static int Num;
        static Dog()
        {
            Num = 0;
        }
        public Dog(string name) : base(name)
        {
            ++Num;
        }
        new public void PrintName()
        {
            Console.WriteLine("子print名字是 " + base.Name);
        }
        //override public void Speak()
        sealed override public void Speak()
        {
            Console.WriteLine("子说,我是狗狗 " + Name);
        }
        static public void ShowNum()
        {
            Console.WriteLine("Dog's number = " + Num);
        }
        public void Lost()
        {
            --Num;
            Console.WriteLine(Name + " is Lost!");
        }

        public static implicit operator Cat(Dog dog)
        {
            return new Cat(dog.Name);
        }
        public void IsHappy<T>(T target)
        {
            Console.WriteLine("Happy for " + target.ToString());
        }
    }
View Code
原文地址:https://www.cnblogs.com/cicily/p/10937353.html