Friday, 22 September 2017

Pass C# class as a parameter of another class. parameterized class or generic class.



C# we can pass parameter to a class and the class which takes parameter is called parameterized class (generic class). 


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ParameterizedClassDemo
{
    public class Class1
    {
        public int Id { get; set; }
        public string Name { get; set; }
        public int age { get; set; }
    }

    public class Class2<T> where T : Class1
    {
        public void PrintData(T ObjT)
        {
            Console.WriteLine("Id is {0}", ObjT.Id);
            Console.WriteLine("Name is {0}", ObjT.Name);
            Console.WriteLine("age is {0}", ObjT.age);
        }

    }
    class Program
    {
        static void Main(string[] args)
        {
            Class1 ObjClass1 = new Class1();
            ObjClass1.Id = 1;
            ObjClass1.Name = "XYZ";
            ObjClass1.age = 25;
            Class2<Class1> ObjClass2 = new Class2<Class1>();
            ObjClass2.PrintData(ObjClass1);
            Console.ReadLine();
        }
    }
}