C# belirtiminde (17.2), bir öznitelik belirtilirken çok sayıda özellik hedefi olduğunu belirtir. Bu, bir özelliği belirtmek için genellikle "gerçek" bir yere sahip olmayan bir şeye bir özellik uygulamanız gerektiğinde yaygındır. Örneğin, return
hedef platform Invoke genellikle kullanılır:Yöntem nitelik hedefinin amacı nedir?
[method: DllImport("somelib.dll")]
static extern bool SomeWin32Method();
hangi koşullarda açıkça tanımlamak gerekir:
[return: MarshalAs(UnmanagedType.Bool)]
static extern bool SomeWin32Method(); //Assume this is valid, has a DllImport, etc.
Ben method
gibi diğer nitelik hedefleri olduğunu fark Ancak method
öznitelik hedefi (muğlaklığı çözmek için mi söylüyorsunuz), yoksa tamlık için mi?
, örneğin '[yöntem: SomeAttr] kamu Etkinlik İşlem MyFieldLikeEvent;', 'yöntemi : 'hedef gereksiz değildir. Bu, özniteliğin hem otomatik olarak oluşturulan erişim sağlayıcılarına ("ekle" ve "kaldır") uygulanacağı anlamına gelir. Varsayılan, özniteliğin kendisinin kendisine uygulanması olacaktır. –
Anlamsız alanlar, vb. Için varsayılan erişim değiştirici olan 'internal 'belirtmenize gerek olmadığı anlamına gelir. – nicholas