static void Main(string[] args)
    {
        BasePartViewModel <Plug> derived = new BasePartViewModel <Plug>();
        MyInterface <Part>       b       = derived;

        b.OpenFile();
    }