public Project() { IsValid = AssemblyPath.CombineLatest(ProjectTypeName, (x, y) => { if (x == null || !File.Exists(GetProjectsContentPath(x))) { return(false); } else { return(GetProjectType(GetAssembly()) != null); } }).CombineLatest(SavePath.Select(x => x != null), (x, y) => x && y) .ToReactiveProperty(); Dependencies = dependencies_.ToReadOnlyReactiveCollection(); Factory = new PropertyFactory(); }