コード例 #1
0
        internal static DiagnosticDescriptor GetModuleDiagnosticDescriptor(
            ManagedEditAndContinueAvailabilityStatus status
            )
        {
            lock (s_moduleDiagnosticDescriptorsGuard)
            {
                s_lazyModuleDiagnosticDescriptors ??=
                new Dictionary <
                    ManagedEditAndContinueAvailabilityStatus,
                    DiagnosticDescriptor
                    >();

                if (!s_lazyModuleDiagnosticDescriptors.TryGetValue(status, out var descriptor))
                {
                    s_lazyModuleDiagnosticDescriptors.Add(
                        status,
                        descriptor = new DiagnosticDescriptor(
                            $"ENC{ModuleDiagnosticBaseId + (int)status:D4}",
                            s_encLocString,
                            s_encDisallowedByProjectLocString,
                            DiagnosticCategory.EditAndContinue,
                            DiagnosticSeverity.Error,
                            isEnabledByDefault: true,
                            customTags: DiagnosticCustomTags.EditAndContinue
                            )
                        );
                }

                return(descriptor);
            }
        }
 public ManagedEditAndContinueAvailability(ManagedEditAndContinueAvailabilityStatus status, string?localizedMessage = null)
 {
     Status           = status;
     LocalizedMessage = localizedMessage;
 }