Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Jegyzet
Ez a cikk egy funkcióspecifikáció. A specifikáció a funkció tervezési dokumentumaként szolgál. Tartalmazza a specifikáció javasolt módosításait, valamint a funkció tervezése és fejlesztése során szükséges információkat. Ezeket a cikkeket mindaddig közzéteszik, amíg a javasolt specifikációmódosításokat nem véglegesítik, és be nem építik a jelenlegi ECMA-specifikációba.
A szolgáltatás specifikációja és a befejezett implementáció között eltérések lehetnek. Ezeket a különbségeket a vonatkozó nyelvi tervezési értekezlet (LDM) megjegyzései rögzítik.
A funkcióspektusok C# nyelvi szabványba való bevezetésének folyamatáról a specifikációkcímű cikkben olvashat bővebben.
A System.Diagnostics.CodeAnalysis.ExperimentalAttributemegjelölt típusokra és tagokra mutató hivatkozásokra vonatkozó figyelmeztetések jelentése.
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; }
}
}
Jelentett diagnosztika
Bár a diagnosztika technikailag figyelmeztetés, így a fordítóprogram engedélyezi annak elnyomását, a jelentés céljából mégis hibaként kezelik. Ez azt eredményezi, hogy a build meghiúsul, ha a diagnosztikát nem tiltja le a rendszer.
A diagnosztikát egy olyan típusra vagy tagra való hivatkozás esetén jelenti a rendszer, amely a következő:
- attribútummal jelölve,
- az attribútummal megjelölt szerelvényben vagy modulban,
kivéve, ha a hivatkozás [Experimental] tagokon belül történik, akkor az automatikusan el lesz nyomva.
A diagnosztikát a szokásos módon is el lehet nyomni, például egy kifejezett fordítóprogram opcióval vagy a #pragma-ával.
Ha például az API [Experimental("DiagID")] vagy [Experimental("DiagID", UrlFormat = "https://example.org/{0}")]van megjelölve, a diagnosztika letiltható #pragma warning disable DiagID.
Hiba keletkezik, ha a kísérleti attribútumnak adott diagnosztikai azonosító nem érvényes C# azonosító.
Ha nincs megadva Message tulajdonság értéke, a diagnosztikai üzenet egy konkrét üzenet, ahol '{0}' a teljesen minősített típus vagy tagnév.
'{0}' is for evaluation purposes only and is subject to change or removal in future updates.
Ha Message tulajdonságnak van megadott értéke, a diagnosztikai üzenet egy konkrét értesítés, ahol '{0}' a teljesen definiált típus vagy tagnév, és '{1}' a Message.
'{0}' is for evaluation purposes only and is subject to change or removal in future updates: '{1}'.
Az attribútum nem öröklődik az alaptípusoktól vagy a felülírt tagoktól.
ElavultAttribute és DeprecatedAttribute
A [Experimental] figyelmeztetései [Obsolete] vagy [Deprecated] tagokon belül jelennek meg.
A [Obsolete] és [Deprecated] figyelmeztetéseit és hibáit a [Experimental] elemekben jelezzük.
A [Obsolete] és [Deprecated] figyelmeztetései és hibái azonban [Experimental] helyett jelennek meg, ha több attribútum is létezik.
C# feature specifications