| File: Evaluation\IPropertyProvider.cs | Web Access |
| Project: 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. namespace Microsoft.Build.Evaluation; /// <summary> /// Provides properties to an <see cref="Expander{P, I}"/>. /// </summary> /// <typeparam name="T">The type of property provided.</typeparam> internal interface IPropertyProvider<out T> where T : class { /// <summary> /// Gets the property with the specified name. /// </summary> /// <param name="name">The property name.</param> /// <returns> /// The property, or <see langword="null"/> if no property has the specified name. /// </returns> T? GetProperty(string name); /// <summary> /// Gets the property whose name is the specified segment of a string. /// </summary> /// <param name="name">The string containing the property name.</param> /// <param name="startIndex">The zero-based index of the first character of the property name.</param> /// <param name="length">The number of characters in the property name.</param> /// <returns> /// The property, or <see langword="null"/> if no property has the specified name. /// </returns> T? GetProperty(string name, int startIndex, int length); }