In case you are new to generics please see this youtube video to understand the same.
Generics – General type of programming. In generic style of programming we won’t specify the type at the time of creation rather when we use it we specify the type. Example look at the following code
Public class Swapper
{
Public class Swap<T>(T x,T y)
{
T temp;
temp=x;
x=y;
y=temp;
}
}
At the time of creation we didn’t specified the type rather at the time of usage we will specify the type.
Swapper s=new Swapper();
s.Swap<int>(5,6);
s.Swap<float>(5.5,6.6);
Delegates – Pointer to the function. Normally we can create variable of type int,float,string..etc. Those variables we can pass as a parameter to other functions but what when we want to declare a variable which will act as a pointer to the function so that we can pass one function as argument to another function. It is possible with the help of delegate. With Delegates we will create a variable which can point to a particular function.
Example
public delegate void MyDelegate(int x,int y);
.
.
.
public void MyFunction(int xx,int yy)
{
…
}
.
.
.
MyDelegate m=new MyDelegate(MyFunction);
m.invoke(5,6)
Generic Delegate – Yes, we can create delegate which will be generic in nature. Example
public delegate void MyDelegate<T>(T x,T y);
.
.
.
public void MyFunction(int xx,int yy)
{
…
}
.
.
.
MyDelegate<int> m=new MyDelegate<int>(MyFunction);
m.invoke(5,6)
Please do visit questpond.com for more such c# and .NET interview question videos.