Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Uyarı
Bu makale bir özellik belirtimidir. Belirtim, özelliğin tasarım belgesi olarak görev alır. Önerilen belirtim değişikliklerini ve özelliğin tasarımı ve geliştirilmesi sırasında gereken bilgileri içerir. Bu makaleler, önerilen belirtim değişiklikleri son haline getirilene ve geçerli ECMA belirtimine dahil edilene kadar yayımlanır.
Özellik belirtimi ile tamamlanan uygulama arasında bazı tutarsızlıklar olabilir. Bu farklılıklar ilgili dil tasarım toplantısı (LDM) notlarında yakalanır.
Özellik belirtimlerini C# dil standardına benimseme işlemi hakkında daha fazla bilgi edinmek için
ile işaretlenen türlere ve üyelere başvurular için uyarıları rapor edin 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; }
}
}
Bildirilen tanılama
Tanılama teknik olarak bir uyarı olsa da, derleyicinin bunu gizlemeye izin vermesi için raporlama amacıyla bir hata olarak değerlendirilir. Bu, tanılama gösterilmezse derlemenin başarısız olmasına neden olur.
Tanılama, aşağıdakilerden biri olan bir türe veya üyeye yapılan tüm başvurular için bildirilir:
- özniteliğiyle işaretlenir,
- özniteliğiyle işaretlenmiş bir derlemede veya modülde,
başvurunun üyeler içinde [Experimental] gerçekleştiği durumlar dışında, otomatik olarak gizlendiğinde.
Tanılamayı, açık derleyici seçeneği veya #pragmagibi normal yollarla bastırmak da mümkündür.
Örneğin, API veya [Experimental("DiagID")]ile [Experimental("DiagID", UrlFormat = "https://example.org/{0}")] işaretlenmişse, tanılama ile #pragma warning disable DiagIDgizlenebilir.
Deneysel özniteliğe verilen tanılama kimliği geçerli bir C# tanımlayıcısı değilse bir hata oluşturulur.
Özellik için Message bir değer sağlanmazsa, tanılama iletisi belirli bir iletidir; burada '{0}' tam tür veya üye adıdır.
'{0}' is for evaluation purposes only and is subject to change or removal in future updates.
Özellik için Message bir değer sağlanırsa, tanılama iletisi belirli bir iletidir; burada '{0}' tam tür veya üye adıdır ve '{1}' olur Message.
'{0}' is for evaluation purposes only and is subject to change or removal in future updates: '{1}'.
Öznitelik temel türlerden devralınmamış veya geçersiz kılınmış üyeler.
ObsoleteAttribute ve DeprecatedAttribute
uyarıları [Experimental] veya [Obsolete] üyeleri içinde [Deprecated] bildirilir.
ve için [Obsolete][Deprecated] uyarılar ve hatalar üyelerin içinde [Experimental] bildirilir.
Ancak birden çok öznitelik olması yerine [Obsolete] ve için [Deprecated] uyarılar ve [Experimental] hatalar bildirilir.
C# feature specifications