я следующее:Очистка переключатель/случай заявление FileInfo.name с интерфейсом
foreach(var file in today.GetFiles())
{
if(file.Length > 0 && file.Extension == ".txt")
{
switch (file.Name)
{
case "realy_long_ugly_file_name_0":
//do something
break;
case "realy_long_ugly_file_name_1":
//do something else
break;
}
}
}
Я встречал this post и думал, что я мог бы очистить свой код, используя interface
. Будет ли это подходящим приложением для этой ситуации? Я установил интерфейс и наследование, но не знаю, как действовать.
Я понимаю, что интерфейс вызывает разные class
на основе того, что IPizza
участник в IList<IPizza>
. Мне трудно понять, как я могу пройти в file.Name
(ранее с switch/case
) на interface
для вызова разных классов.
interface IMyFiles
{
void Process(FileInfo file);
}
public class FileName0 : IMyFiles
{
void IMyFiles.Process(FileInfo file)
{
//do somthing specific to FileName0
}
}
public class FileName1 : IMyFiles
{
void IMyFiles.Process(FileInfo file)
{
//do somthing specific to FileName1
}
}