Generics - generic containers List<T>
- Renee Li
- Oct 17
- 1 min read
Mini series 1: interface IFilter
image type
video type
IFilter interface class, including void Add Filter
main
namespace GP2
{
public interface IFilter
{
void AddFilter();
}
}namespace GP2
{
public class Video : IFilter
{
public string _videoName { set; get; }
public Video(string videoName)
{
_videoName = videoName;
}
public void AddFilter()
{
Console.WriteLine("Video filter is added to " + _videoName);
}
}
}namespace GP2
{
public class Image: IFilter
{
public string _imageName { set; get; }
public Image(string imageName)
{
_imageName = imageName;
}
public void AddFilter()
{
Console.WriteLine("Image filter is added to " + _imageName);
}
}
}namespace GP2
{
internal class Program
{
static void Main(string[] args)
{
List<IFilter> filters = new List<IFilter>();
filters.Add(new Image("Image1"));
filters.Add(new Video("Video1"));
foreach (var filter in filters)
{
filter.AddFilter();
}
Console.WriteLine(filters.Count);
Console.WriteLine(((Image)filters[0])._imageName);
Console.WriteLine(((Video)filters[1])._videoName);
}
}
}I basically created a list for IFilter and add image objects or Video objects into this list and apply filter for each objects.
To make it simple and just for the purpose of practicing generics, add filter method is just to output:
Image filter is added to Image1
Video filter is added to Video1 Now, my question is what if interface class is Generics<T>?
Stay tuned for mini series 2.



Comments