Я пытаюсь создать интерфейс для общего класса, но классы реализации могут иметь разные параметры.
например.
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);
Но как я могу заставить проверять тип или вызвать фактическую подпись метода, которую я хочу, и т.д.
Может быть, интерфейс неправильный? Может быть, просто базовый класс и некоторые условные обозначения?
Спасибо,