2
爲了我自己的安心,我想知道爲什麼在我的AssemblyInfo.fs
文件的最後一行中,需要添加一個()
以便編譯它。你稱這種語法是什麼?F#:爲什麼這些括號是必需的(語法)
namespace TestComComponentFSharp
open System.Reflection
open System.Runtime.CompilerServices
open System.Runtime.InteropServices
[<assembly: AssemblyTitle("TestComComponentFSharp")>]
[<assembly: ComVisible(true)>]
[<assembly: Guid("0B684F15-DC37-40C0-A785-EDF1A63BBAF5")>]
[<assembly: AssemblyKeyFile("KeyFile.snk")>]
[<assembly: AssemblyVersion("1.0.0.0")>]
[<assembly: AssemblyFileVersion("1.0.0.0")>]
()
謝謝。我瞭解這些屬性必須適用於某些內容。但是,我不認爲它「返回」任何東西,因爲如果我用它來替換它,例如一個整數'0'或一個字符串文字,它給了我錯誤信息「命名空間不能包含值,考慮使用一個模塊來保存你的值聲明。」我是否正確地說'()'既是'void' /'unit'的文字,也是'empty expression'這是空塊語法? –
不,(()或「空表達式」仍然返回一個單位。 F#總是要返回一些東西。 「A」單位「用於保存語言句法所需的值,但不需要或不需要的值時。」採取從https://msdn.microsoft.com/en-us/library/dd483472.aspx – Kevin