[英]C# square brackets and greater/less than
在C#中,您可能會看到以下內容:
[<DllImport("myUnmanagedDLL.dll")>]
或類似的行(但沒有大於/小於符號):
[assembly: AssemblyTitle("MyProject")]
我知道第一個被稱為屬性(它有gt和lt標志),可用於向方法,類型等添加一種元數據,但第二種語法是什么意思? 我正在嘗試將這種語法翻譯成F# - 即,這一行:
[MonoMac.Foundation.Register("AppDelegate")]
但是第二種語法是什么意思呢?
這意味着該屬性正在應用於程序集,而不是應用於類型(類或結構)或成員。
在F#中,您嘗試翻譯的行應為:
[<MonoMac.Foundation.Register("AppDelegate")>]
如果沒有看到更多內容,則無法確定應該應用的位置(類型,方法等)。 我懷疑這會在F#中繼續你的type
定義,因為這通常用在C#類上。
另外, [<DllImport("myUnmanagedDLL.dll")>]
無效C# - 這是F#語法。 C#對屬性使用[Attribute]
(VB.Net使用<Attribute>
)。
如果它在F#中有用,則程序集級別屬性通常應用於空的do
塊:
[<assembly: AssemblyTitle("MyProject")>]
do ()
我認為你把C#與VB.NET語法混淆了
在VB.NET中它是<DllImport("myUnmanagedDLL.dll")>
而在C#中它是[DllImport("myUnmanagedDLL.dll")]
而沒有大於或小於符號。
第二個是程序集屬性,它用於將屬性應用於整個程序集,而不僅僅是一個特定的類,方法或屬性
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.