[API Proposal]: Add Message property to ExperimentalAttribute #107963
Labels
api-ready-for-review
API is ready for review, it is NOT ready for implementation
area-System.Runtime
Milestone
Background and motivation
With our recent adoptions of the
[Experimental]
attribute, we found it would have been valuable to add a custom message for the experimental APIs to add context for why the API is marked as experimental. The desired experience would be similar to that of[Obsolete]
where a custom message can be provided in addition to the custom diagnostic ID.API Proposal
API Usage
Alternative Designs
Create a new mechanism for registering the messages. Or keep the status quo and rely on the linked documentation to provide fuller context.
Risks
We will need to follow the model we applied with
ObsoleteAttribute
where the compiler respects whicheverExperimentalAttribute
is defined for the assembly using it, where that type might haveMessage
or might not. When applying this attribute down-level to targets beforeMessage
was introduced, libraries can opt to include an internal copy of the class that includes the property so the message can be applied.We will need to discuss the format of the compiler message, localization, and determine if the default message should be emitted in addition to the custom message, or if only the custom message would be emitted. We should be able to follow the
[Obsolete]
attribute behavior.The text was updated successfully, but these errors were encountered: