7
在C#規範(17.2)中,它指示在指定屬性時有幾個屬性目標。當您需要將屬性應用於通常不具有指定屬性的「真實」位置的東西時,這很常見。例如,return
目標是在平臺調用經常使用:方法attribute-target的用途是什麼?
[return: MarshalAs(UnmanagedType.Bool)]
static extern bool SomeWin32Method(); //Assume this is valid, has a DllImport, etc.
不過,我注意到,有其他屬性的目標,像method
:
[method: DllImport("somelib.dll")]
static extern bool SomeWin32Method();
在什麼情況下,我需要明確定義method
屬性目標(說解決歧義),還是隻是爲了完整性?
此外,在該示例'[方法:SomeAttr]公共事件動作MyFieldLikeEvent;'中,'方法:'目標不是多餘的。這意味着該屬性將被應用於自動生成的訪問器('add'和'remove')。默認值是將該屬性應用於事件本身。 – 2014-01-02 17:24:02
我相信你的意思是你不需要指定'internal',這是未指定字段的默認訪問修飾符等。 – nicholas 2016-01-06 14:03:38