Вот мой код, ребята.
public interface IScorecardRule { }
public interface IScorecardRule<T> : IScorecardRule
{
List<T> Extract();
}
public class AdminRule : IScorecardRule<AdminRepository>
{
public List<AdminRepository> Extract()
{
return new List<AdminRepository>();
}
}
public class AdminRepository
{
public string Firstname { get; set; }
public string Lastname { get; set; }
}
Теперь я хочу создать интерфейс List из IScorecardRule
и повторить каждое правило, которое его реализует.Я планирую добавить здесь больше правил в соответствии с требованием, каждое из которых имеет реализацию diff метода «Extract», которая возвращает List<T>
.Проблема в том, что Extract
метод недоступен.
var rules = new List<IScorecardRule>();
rules.Add(new AdminRule()); //Rule for Admin
//rules.Add(new DeveloperRule()); //Rule for Developer
foreach (var rule in rules)
{
var myList = rule.Extract(); //Extract Method Not Accessible
//--More Code here--//
}
Надеюсь, это имеет смысл.Дайте мне знать, если моя логика ошибочна и возможен ли этот подход или нет.Спасибо!