I have edited my previous question because of lack of information.
I have written a class named ReaderFactory where I create a Method GetAReader(string filename).This method returns a reader using its file-name extension. I used switch-case to select the specific reader.But my instructor suggested me to use reflection instead of switch-case.I have started to learn reflection and got stuck on its behavior. How can I implement reflection instead of switch-case in my code? GetAReader method is given below :
public static IReader GetAReader(string _fileName)
{
fileName = _fileName;
fileExtension = Path.GetExtension(fileName);
switch (fileExtension)
{
case ".txt":
TextFileReader _textReader = new TextFileReader(fileName);
_textReader.ReadData();
return _textReader;
case ".pdf":
PDFReader _pdfReader = new PDFReader(fileName);
_pdfReader.ReadData();
return _pdfReader;
case ".doc":
//reader initialize
case ".rtf":
//reader initialize
case ".docx":
//reader initialize
case ".jpg":
//reader initialize
}
return null;
}