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.
Derleyicinin belirtilen Ara Dil (IL) değiştiricisini yaymak için kodunuza bu öznitelikleri ekleyin. Bu öznitelikler derleyiciye çıkışa karşılık gelen IL değiştiricisini eklemesini emreder.
C# dili başvuru belgesi, C# dilinin en son yayımlanan sürümünü gösterir. Ayrıca, yaklaşan dil sürümü için genel önizlemelerdeki özelliklere yönelik ilk belgeleri içerir.
Belgelerde ilk olarak dilin son üç sürümünde veya geçerli genel önizlemelerde sunulan tüm özellikler tanımlanır.
Tavsiye
Bir özelliğin C# dilinde ilk tanıtıldığı zamanları bulmak için C# dil sürümü geçmişi makalesine bakın.
| Öznitelik | Değiştirici | Yorum |
|---|---|---|
| System.Runtime.InteropServices.ComImportAttribute | import |
|
| System.Runtime.InteropServices.DllImportAttribute | pinvokeimpl |
Oluşturucuda listelenen seçenekleri ekleyebilirsiniz. |
| System.Runtime.InteropServices.FieldOffsetAttribute | .field |
Bu, bellek düzeni için alan uzaklığını ayarlar. |
| MarshalAsAttribute | marshal |
Oluşturucuda listelenen seçenekleri ayarlayabilirsiniz. |
| System.Runtime.CompilerServices.MethodImplAttribute | flag |
Oluşturucu bağımsız değişkenleri, aggressiveinlining veya forwardrefgibi belirli adlandırılmış bayrakları belirtir. Bu bayraklar, native alanı için managed, optilveya System.Runtime.CompilerServices.MethodCodeType değiştiricilerini de belirtir. |
| System.NonSerializedAttribute | notserialized |
|
| System.Runtime.InteropServices.OptionalAttribute | [opt] |
|
| System.Runtime.InteropServices.PreserveSigAttribute | preservesig |
|
| System.SerializableAttribute | serializable |
|
| System.Runtime.InteropServices.StructLayoutAttribute |
auto, sequentialveya explicit |
Düzen seçenekleri parametreleri kullanılarak ayarlanabilir. |
| System.Runtime.CompilerServices.IndexerNameAttribute | Farklı bir yöntem adı ayarlamak için bu özniteliği dizin oluşturucuya ekleyin. Dizin oluşturucular varsayılan olarak Itemadlı bir özelliğe derlenir. Bu özniteliği kullanarak farklı bir ad belirtebilirsiniz. |
Önemli
[StructLayoutAttribute] özniteliğiyle ExtendedLayout birleştirilemiyor.
Bu özel özniteliklerden bazıları, kaynak kodunuz için özniteliği eklemek yerine diğer C# söz dizimi kullanılarak uygulanır.
| Öznitelik | Yorum |
|---|---|
| System.Runtime.InteropServices.DefaultParameterValueAttribute | parametresi için varsayılan değeri belirtir. varsayılan parametre söz diziminikullanın. |
| System.Runtime.InteropServices.InAttribute | IL [in] değiştiricisini belirtir.
in veya ref readonly değiştiricilerini kullanın. |
| System.Runtime.InteropServices.OutAttribute | IL [out] değiştiricisini belirtir.
out değiştiricisini kullanın. |
| System.Runtime.CompilerServices.SpecialNameAttribute | IL specialname değiştiricisini belirtir. Derleyici, bu değiştiriciyi gerektiren yöntemler için otomatik olarak ekler. |
| System.Runtime.InteropServices.UnmanagedCallersOnlyAttribute | Bu öznitelik delegate* özelliği için gereklidir. Derleyici, kullanımını gerektiren her delegate*'ye bunu ekler. Ancak, bu yöntem bir işlev işaretçisine atandığında bu özniteliği herhangi bir yöntem bildirimine eklemeniz gerekir. |
C# kaynağında aşağıdaki özniteliklere genellikle izin verilmez. Bunlar, yansıma kullanan kitaplık yazarlarına yardımcı olmak ve aynı tam ada sahip özel öznitelikler oluşturmadığınızdan emin olmak için burada listelenir.
| Öznitelik | Yorum |
|---|---|
| System.Runtime.CompilerServices.CompilerFeatureRequiredAttribute | Alt düzey derleyicilerin güvenli bir şekilde anlayamayacağı meta verileri kullanmasını engeller. |
| System.Runtime.CompilerServices.DecimalConstantAttribute |
const decimal alanları kodlar. Çalışma zamanı decimal değerleri sabit değerler olarak desteklemez. |
| System.Reflection.DefaultMemberAttribute | Dizin oluşturucuları System.Runtime.CompilerServices.IndexerNameAttributeile kodlar. Bu öznitelik, ismi Item'dan farklı olduğunda varsayılan dizin oluşturucuyu belirtir. Bu özniteliğe kaynakta izin verilir. |
| System.Runtime.CompilerServices.DynamicAttribute | İmzadaki bir türün dynamic (objectyerine) olup olmadığını kodlar. |
| System.Runtime.CompilerServices.ExtensionAttribute | Bu öznitelik, uzantı yöntemlerini not eder. Derleyici bu özniteliği de içeren sınıflara yerleştirir. |
| System.Runtime.CompilerServices.FixedBufferAttribute | Bu öznitelik fixed yapı alanlarını belirtir. |
| System.Runtime.CompilerServices.IsByRefLikeAttribute | Bu öznitelik bir ref yapısı belirtir. |
| System.Runtime.CompilerServices.IsReadOnlyAttribute | Bu öznitelik, bir parametrenin in değiştiricisine sahip olduğunu gösterir.
in parametrelerini readonly ref veya [In] refbirbirinden ayırır. |
| System.Runtime.CompilerServices.RequiresLocationAttribute | Bu öznitelik, bir parametrenin readonly ref değiştiricisine sahip olduğunu gösterir. O, readonly ref'ı in'den veya [In] ref'den ayırt eder. |
| System.Runtime.CompilerServices.IsUnmanagedAttribute | Bu öznitelik, bir tür parametresinde unmanaged kısıtlamasını belirtir. |
| System.Runtime.CompilerServices.NullableAttribute, System.Runtime.CompilerServices.NullableContextAttribute, System.Runtime.CompilerServices.NullablePublicOnlyAttribute | Bu öznitelikler, kaynak kodunuzda null hale getirilebilen açıklamaları kodlar. |
| System.ParamArrayAttribute | Bu öznitelik, dizi parametrelerinde params değiştiricisini kodlar. |
| System.Runtime.CompilerServices.ParamCollectionAttribute | Bu öznitelik, dizi olmayan parametrelerde params değiştiricisini kodlar. |
| System.Runtime.CompilerServices.RefSafetyRulesAttribute | Bu öznitelik, derlemedeki ref güvenliği açıklamalarını anlamak için gereksinim duyulan C# sürümünü belirtir. C# yeni özelliklere sahip olduğundan başvuru güvenliği kuralları gelişir. |
| System.Runtime.CompilerServices.RequiredMemberAttribute | Bu öznitelik, required değiştiricinin bir üye bildirimine yerleştirildiğini gösterir. Bu, gerekli üyelerin dil özelliğinin kodlamasıdır. |
| System.Runtime.CompilerServices.TupleElementNamesAttribute | Bu öznitelik, imzalarda kullanılan demet öğe adlarını kodlar. |
Ayrıca, derleyici dahili olarak kullanılan diğer öznitelikler için bir bildirim oluşturabilir. Derleyici bu öznitelikleri kendi kullanımı için System.Runtime.CompilerServices ad alanında oluşturur. Bazıları .NET Çalışma Zamanı kitaplıklarında değildir. Bunun yerine, derleyici özniteliğin gerekli olduğu herhangi bir derlemede internal tür bildirimi için bir tanım sentezler.