Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Poznámka:
Tento článek je specifikace funkce. Specifikace slouží jako návrhový dokument pro funkci. Zahrnuje navrhované změny specifikace spolu s informacemi potřebnými při návrhu a vývoji funkce. Tyto články se publikují, dokud nebudou navrhované změny specifikace finalizovány a začleněny do aktuální specifikace ECMA.
Mezi specifikací funkce a dokončenou implementací může docházet k nějakým nesrovnalostem. Tyto rozdíly jsou zachyceny v příslušných poznámkách ze schůzky jazykového návrhu (LDM).
Další informace o procesu přijetí specifikací funkcí do jazyka C# najdete v článku o specifikacích .
Upozornění sestavy pro odkazy na typy a členy označené pomocí System.Diagnostics.CodeAnalysis.ExperimentalAttribute.
namespace System.Diagnostics.CodeAnalysis
{
[AttributeUsage(AttributeTargets.Assembly |
AttributeTargets.Module |
AttributeTargets.Class |
AttributeTargets.Struct |
AttributeTargets.Enum |
AttributeTargets.Constructor |
AttributeTargets.Method |
AttributeTargets.Property |
AttributeTargets.Field |
AttributeTargets.Event |
AttributeTargets.Interface |
AttributeTargets.Delegate, Inherited = false)]
public sealed class ExperimentalAttribute : Attribute
{
public ExperimentalAttribute(string diagnosticId)
{
DiagnosticId = diagnosticId;
}
public string DiagnosticId { get; }
public string? UrlFormat { get; set; }
public string? Message { get; set; }
}
}
Nahlášená diagnostika
I když je diagnostika technicky upozornění, takže kompilátor umožňuje potlačení, považuje se za chybu pro účely hlášení. To způsobí selhání sestavení v případě, že diagnostika není potlačena.
Diagnostika je hlášena pro všechny odkazy na typ nebo člen, který je buď:
- označeno atributem,
- v sestavení nebo modulu označeném atributem,
s výjimkou případů, kdy se odkaz vyskytuje v rámci [Experimental] členů, když je automaticky potlačen.
Diagnostiku je také možné potlačit obvyklým způsobem, jako je explicitní možnost kompilátoru nebo #pragma.
Pokud je například rozhraní API označené [Experimental("DiagID")] nebo [Experimental("DiagID", UrlFormat = "https://example.org/{0}")], může být diagnostika potlačena #pragma warning disable DiagID.
Pokud ID diagnostiky zadané experimentálnímu atributu není platným identifikátorem jazyka C#, vytvoří se chyba.
Pokud není zadána hodnota vlastnosti Message , diagnostická zpráva je konkrétní zpráva, kde '{0}' je plně kvalifikovaný typ nebo název člena.
'{0}' is for evaluation purposes only and is subject to change or removal in future updates.
Pokud je zadána hodnota vlastnostiMessage, diagnostická zpráva je konkrétní zpráva, kde '{0}' je plně kvalifikovaný typ nebo název člena '{1}'a Message je .
'{0}' is for evaluation purposes only and is subject to change or removal in future updates: '{1}'.
Atribut není zděděný ze základních typů nebo přepisovaných členů.
Zastaralé atributuAttribute a zastaralého atributuAttribute
Upozornění pro [Experimental] jsou hlášena v rámci [Obsolete] nebo [Deprecated] členy.
Upozornění a chyby pro [Obsolete] členy a [Deprecated] jsou hlášeny uvnitř [Experimental] členů.
Ale upozornění a chyby pro [Obsolete] a [Deprecated] jsou hlášeny místo [Experimental] toho, pokud existuje více atributů.
C# feature specifications