Я пытаюсь создать интерфейс для общего класса, но классы реализации могут иметь разные параметры.
например,
public interface IViewModel
{
//...
void ResetReferences();
}
// and then, in my class implementations, something like this:
public class LocationViewModel : IViewModel
{
public void ResetReferences(List<StateProvinces> stateProvinces) //...
}
public class ProductViewModel : IViewModel
{
public void ResetReferences(List<Color> colors, List<Size> sizes) //...
}
Обратите внимание, что я хочу стандартизировать "RestReferences" " соглашение об именовании. Я почти уверен, что не могу этого сделать, но есть ли шаблон проектирования, который мог бы работать? например в моем интерфейсе что-то вроде ниже?
// variable parameters
void ResetReferences(params object[] list);
Но тогда как мне заставить меня выполнять проверку типов или вызывать фактическую сигнатуру метода, которую я хочу, и т. Д.
Может быть, интерфейс не подходит для использования? Может быть, это просто базовый класс и некоторые соглашения о кодировании?
Спасибо,