Introduction
I would like to share the basics of generics. Here first we will learn the problem statement and then resolve the problem using Generics.
Problem statement
First create a class as in the following code.
class CompareClass {
public bool Compare(string x, string y) {
if (x.Equals(y)) return true;
else return false;
}
public bool Compare(int x, int y) {
if (x.Equals(y)) return true;
else return false;
}
}
Understanding the code
We created the CompareClass.
Here we created two compare methods, one for the string data type and the second for an int data type.
So the class contains overloaded compare functions.
Problem
So if we need to compare other datatypes like decimal, double and objects, then the code above would not work and we need to create another method to compare the proposed data type. We can solve this problem with generics.
Solution
Create a class as in the following code.
class CompareGenericClass < T > {
public bool Compare(T x, T y) {
if (x.Equals(y)) return true;
else return false;
}
}
Understanding the code
We created the class CompareGenericClass with the input parameter T so the class is CompareGenericClass
Here T would be the datatype.
If we want to compare strings then the following style would be used to create an object of the class,
Top comments (0)