Я хочу иметь общий метод между многими классами для выполнения некоторых задач. Это работает, но я не уверен, что это приемлемо .. Пример 2 классов, которые реализуют интерфейс с методом каналов Freeview():Может ли интерфейс использоваться для общих методов между классами?
class BrowserView : ChromiumWebBrowser, IView
{
public void freeView()
{
// Some work
}
}
class VideoView : Canvas, IView
{
public void freeView()
{
// Some work
}
}`
И я называю метод, как, что в моем главном модуле:
private object activeView = null;
switch (settings.vue)
{
case Vue.Website:
activeView = new BrowserView(this, settings.sourcePath);
gridView.Children.Add(activeView as BrowserView);
break;
case Vue.Video:
activeView = new VideoView(this, settings.sourcePath);
gridView.Children.Add(activeView as VideoView);
break;
}
И когда мне нужно вызвать метод с каналами Freeview(), я бросил ActiveView как тот
private void deleteView()
{
if(activeView != null)
{
((IView)activeView).freeView();
}
}
Если метод имеет ту же реализацию, вы можете использовать наследование. – Ofiris