Skip to content

Extend ObsoleteAttribute #33089

@terrajobst

Description

@terrajobst

We'd like to make obsoletion more viable. This requires extending the ObsoleteAttribute:

API

#nullable enable
namespace System
{
    public partial class ObsoleteAttribute : Attribute
    {
        // Existing:
        //
        // public ObsoleteAttribute();
        // public ObsoleteAttribute(string message);
        // public ObsoleteAttribute(string message, bool error);
        // public bool IsError { get; }
        // public string Message { get; }

        // New:
        public string? DiagnosticId { get; set; }
        public string? UrlFormat { get; set; }
    }
}

Usage

namespace System.Collections
{
    [Obsolete(DiagnosticId="BCL0006", UrlFormat="https://aka.ms/obsolete/{0}")]
    public class ArrayList
    {
        // ...
    }

    [Obsolete(DiagnosticId="BCL0006", UrlFormat="https://aka.ms/obsolete/{0}")]
    public class Stack
    {
        // ...
    }
}
namespace System.Security
{
    [Obsolete(DiagnosticId"BCL0001", UrlFormat="https://aka.ms/obsolete/{0}")]
    public sealed class SecureString
    {
        // ...
    }
}

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions