2012-03-29 82 views
3

使用計算表達式時,第一個定義有效,但第二個定義不適用於零。使用零的計算表達式

是什麼這之間的區別:這

member o.Zero() = 3 

member o.Zero = fun() -> 3 

第一個計算結果爲unit -> int第二要(unit -> int)。有什麼不同?

回答

5

如果他們是容許的話,沒有區別。但是,在類定義中,第一個o.Zero是一個方法,而第二個o.Zero是屬性。

計算表達式期望一種名爲Zero的方法;這就是爲什麼當你提供一個具有相同名稱的屬性時它不起作用。