| File: BackEnd\Components\Caching\IRegisteredTaskObjectCache.cs | Web Access |
| Project: src\msbuild\src\Build\Microsoft.Build.csproj (Microsoft.Build) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.Build.Framework; #nullable disable #if BUILD_ENGINE namespace Microsoft.Build.BackEnd.Components.Caching #else namespace Microsoft.Build.Shared #endif { /// <summary> /// Defines a cache for registered task objects. /// </summary> internal interface IRegisteredTaskObjectCache { /// <summary> /// Disposes of all of the objects with the specified lifetime. /// </summary> void DisposeCacheObjects(RegisteredTaskObjectLifetime lifetime); /// <summary> /// Registers a task object with the specified key and lifetime. /// </summary> void RegisterTaskObject(object key, object obj, RegisteredTaskObjectLifetime lifetime, bool allowEarlyCollection); /// <summary> /// Gets a previously registered task object. /// </summary> object GetRegisteredTaskObject(object key, RegisteredTaskObjectLifetime lifetime); /// <summary> /// Unregisters a task object. /// </summary> object UnregisterTaskObject(object key, RegisteredTaskObjectLifetime lifetime); } }