Contravariance With Delegates C# with Example



Contravariance With Delegates C# with Example

 using System;

namespace CSharpGenerics
{
    delegate void MyDelegate(T x);			//Generic Delegate

    class BaseClass
    {
        public void Display()
        {
            Console.WriteLine("BaseClass Display Method.");
        }
    }

    class DerivedClass : BaseClass {}

    class Program
    {
        static void BaseClassAction(BaseClass baseReference)	//Delegate Matching Method
        {
            Console.WriteLine("Main Program Method.");
        }

        static void Main(string[] args)
        {
			MyDelegate baseRefDel = new MyDelegate(BaseClassAction);
			MyDelegate derivedRefDel = baseRefDel;
			
			derivedRefDel(new DerivedClass());
        }
    }
}
 

0 Comment's

Comment Form