| File: RuntimeSource\Configuration.Binder\Specs\Members\MemberSpec.cs | Web Access |
| Project: src\src\Tools\ConfigurationSchemaGenerator\ConfigurationSchemaGenerator.csproj (ConfigurationSchemaGenerator) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using System.Diagnostics; using Microsoft.CodeAnalysis; using SourceGenerators; namespace Microsoft.Extensions.Configuration.Binder.SourceGeneration { public abstract record MemberSpec { public MemberSpec(ISymbol member, TypeRef typeRef) { Debug.Assert(member is IPropertySymbol or IParameterSymbol); Name = member.Name; DefaultValueExpr = "default"; TypeRef = typeRef; } public string Name { get; } public string DefaultValueExpr { get; protected set; } public TypeRef TypeRef { get; } public required string ConfigurationKeyName { get; init; } public abstract bool CanGet { get; } public abstract bool CanSet { get; } } }