protected override void Dispose(bool disposing) { foreach (ExportLifetimeContext <IWorkspaceContextHandler> handler in _handlers) { handler.Dispose(); } _context = null; _handlers = Array.Empty <ExportLifetimeContext <IWorkspaceContextHandler> >(); }
public void Initialize(IWorkspaceProjectContext context) { Requires.NotNull(context, nameof(context)); if (_context != null) { throw new InvalidOperationException(); } _context = context; }
public void Initialize(IWorkspaceProjectContext context) { Requires.NotNull(context, nameof(context)); if (_context != null) throw new InvalidOperationException("Already initialized."); _context = context; EnsureInitialized(); }
public void Initialize_InitializesHandlers() { IWorkspaceProjectContext?result = null; var handler = IWorkspaceContextHandlerFactory.ImplementInitialize((c) => { result = c; }); var applyChangesToWorkspace = CreateInstance(handlers: handler); var context = IWorkspaceProjectContextMockFactory.Create(); applyChangesToWorkspace.Initialize(context); Assert.Same(context, result); }
public async Task <IWorkspaceProjectContextAccessor?> CreateProjectContextAsync(ConfiguredProject project) { Requires.NotNull(project, nameof(project)); ProjectContextInitData data = await GetProjectContextInitDataAsync(project); if (data.IsInvalid()) { return(null); } object?hostObject = _project.Services.HostObject; IWorkspaceProjectContext?context = await CreateProjectContextHandlingFaultAsync(data, hostObject); if (context == null) { return(null); } return(new WorkspaceProjectContextAccessor(data.WorkspaceProjectContextId, context)); }
private static MetadataReferenceItemHandler CreateInstance(UnconfiguredProject?project = null, IWorkspaceProjectContext?context = null) { project ??= UnconfiguredProjectFactory.Create(); var handler = new MetadataReferenceItemHandler(project); if (context != null) { handler.Initialize(context); } return(handler); }
private static ProjectFilePathAndDisplayNameEvaluationHandler CreateInstance(ProjectConfiguration?configuration = null, IImplicitlyActiveDimensionProvider?implicitlyActiveDimensionProvider = null, IWorkspaceProjectContext?context = null) { var project = ConfiguredProjectFactory.ImplementProjectConfiguration(configuration ?? ProjectConfigurationFactory.Create("Debug|AnyCPU")); implicitlyActiveDimensionProvider ??= IImplicitlyActiveDimensionProviderFactory.Create(); var handler = new ProjectFilePathAndDisplayNameEvaluationHandler(project, implicitlyActiveDimensionProvider); if (context != null) { handler.Initialize(context); } return(handler); }