public ITdiTab OpenTab(Func <ITdiTab> newTabFunc, ITdiTab afterTab = null, Type[] argTypes = null, object[] args = null) { ITdiTab tab = newTabFunc.Invoke(); Type tabType = tab.GetType(); string hashName = TabHashHelper.GetTabHash(tabType, argTypes ?? new Type[] { }, args ?? new object[] { }); return(OpenTab(hashName, () => tab, afterTab)); }
public override Widget Resolve(ITdiTab tab) { try { return(base.Resolve(tab)); } catch (WidgetResolveException ex) { try { var baseOnNameResolver = new BasedOnNameTDIResolver(usedAssemblies); return(baseOnNameResolver.Resolve(tab)); } catch (Exception e) { throw new InvalidProgramException($"Невозможно найти View для ViewModel вкладки: {tab.TabName}. Имя класса ViewModel: {tab.GetType()} не соответствует шаблону именования или не настроено правильное сопоставление"); } } }