public interface IViewBase
public class AView : IViewBase
public class BView : IViewBase
private void ShowOtherView<T>(object parameter) where T : IViewBase
private void Test1(Action<object> onShowOtherView)
private void Test2(Action<IViewBase, object> onShowOtherView)
Test1((param) => ShowOtherView<AView>(param));
Test2((view, param) => ShowOtherView<view>(param));