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