Generic is a type parameter technique. Using this
technique we write a class, or methods that can work any data type that means
user defines data type or system define data type. It is type-safe.
using System.Collections.Generic;
Example of Generic Type
namespace Generics
{
public class GeneRicType
{
public T _value;
public GeneRicType(T t)
{
this._value = t;
public void Input()
{
Console.WriteLine(this._value);
}
public class Program
{
static void Main(string(] args)
{
// Integer type
GeneRicType obj = new
GeneRicTypecint>(120);
obj.Input();
// string type
GeneRicTypecstring> obj1 = new
GeneRicTypecstring>("Hi, -
obj1.Input();
Console.ReadLine();
}
}
}
The OutPut as given below.
120
Hi, Dear!!
Example for Sum of Two Number using Generic Type
In this example, both class and methods are generic type, here we decide the output at the run-time what type we want that means
Int, float etc.
namespace Generics
{
public class CalculationClass
{
public T _valuel;
public T _value2;
public CalculationClass(T
tl, T t2)
{
this._valuel = tl;
this._value2 = t2;
}
public T InputValues
objInt = new CalculationClass(Convert.ToInt32(Console.ReadLine()),
Convert.ToInt32(Console.ReadLine()));
Console.WriteLine("Sum Of Two :
"+
objInt.InputValues());
CalculationClass objDoble = new CalculationClass(Convert.ToDouble(Console.ReadLine()),
Convert.ToDouble(Console.ReadLine()));
Console.WriteLine("Sum Of Two :
"
+ objDoble.InputValues());
Console.ReadLine();
}
}
The
Output as given below.
10
20
Sum
Of Two : 30
10.2
20.20
Sum
Of Two : 30.4
Remark on Generic Type
- We use generic types to maximize the code reuse, increase the performance of a application and type safety.
- Most common use of generics is to create collection classes just like ArrayList, Dictionary, Stack, Queue etc.