private static Type?GetViewType(PageViewModel vm) { Type?t = vm.GetType(); foreach (Type?j in Objects.GetTypes <T>(true)) { if (j.GetAttr <PageViewModelAttribute>()?.ViewType == t) { return(j); } } return(vm.GetAttr <ViewAttribute>()?.ViewType is { } tt&& tt.Implements <T>() && tt.IsInstantiable() ? tt : null); }