File: Language\Intermediate\CascadingGenericTypeParameter.cs
Web Access
Project: src\src\Razor\src\Compiler\Microsoft.CodeAnalysis.Razor.Compiler\src\Microsoft.CodeAnalysis.Razor.Compiler.csproj (Microsoft.CodeAnalysis.Razor.Compiler)
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
 
#nullable disable
 
using System.Collections.Generic;
 
namespace Microsoft.AspNetCore.Razor.Language.Intermediate;
 
public sealed class CascadingGenericTypeParameter
{
    /// <summary>
    /// Gets or sets the type parameter names covered by the value type, e.g., TKey and TItem
    /// </summary>
    public IReadOnlyCollection<string> GenericTypeNames { get; set; }
 
    /// <summary>
    /// Gets or sets a <see cref="ComponentAttributeIntermediateNode"/> that supplies content for
    /// <see cref="ValueExpression"/>. In the case of explicitly-specified generic parameters, this
    /// will be null.
    /// </summary>
    internal ComponentAttributeIntermediateNode ValueSourceNode { get; set; }
 
    /// <summary>
    /// Gets or sets the type of <see cref="ValueExpression"/>, e.g., Dictionary[TKey, TItem].
    /// </summary>
    internal string ValueType { get; set; }
 
    /// <summary>
    /// Gets or sets an expression defining the type of the generic parameter. In the case of inferred
    /// generic parameters, this will only be populated once a variable is emitted corresponding to
    /// <see cref="ValueSourceNode"/>.
    /// </summary>
    internal object ValueExpression { get; set; }
}