Please review the basic concepts of generics to understand the article better.
Let us understand how to create an interface of type T. A blank interface will look like this.
public interface ITest<T> { }
An interface with one member function definition
public interface ITest<T> {
List<T> GetList();
}
The syntax for multiple generic values for an interface
public interface ITest<T, U>{
List<T> GetList(U value);
}
After understanding the basic syntax for interfaces with single or numerous generic types. Let's see how to implement them in a class.
The implementation is divided into two cases:
The below example shows if we do not define the “T” type. Please refer ITest<T>
definition above.
public class Test : ITest<T>{
public List<T> GetList(){}
}
The compiler will throw an exception that it cannot understand the reference of T.
Solution: Let’s define the type “T.”
public class Test : ITest<int>{
public List<int> GetList(){return null;}
}
In the case of non-generic classes, as mentioned above, we must define the genetic types. Please refer ITest<T,U>
definition above.
public class Test : ITest<int, int>{
public List<int> GetList(int value){return null;}
}
The implementation is again divided into two cases:
Please refer ITest<T>
definition above.
public class Test<T> : ITest<T>{
public List<T> GetList(){return null;}
}
Please refer ITest<T,U>
definition above.
public class Test<T, U> : ITest<T, U>{
public List<T> GetList(U value){return null;}
}
Thank you for reading, and I hope you liked the article. Please provide your feedback in the comment section.
C# Publication, LinkedIn, Twitter, Dev.to, Pinterest, Substack, Wix, HackerNoon.
Also published here.