Par exemple, si je tente d'étendre int
, avec int
n'est pas le vrai nom du type, ce code échouera:Pourquoi F # ne parvient-il pas à prendre en charge l'extension du type de système avec son abréviation de type?
type int with
member this.IsEven = this % 2 = 0
je dois utiliser System.Int32
à la place:
type System.Int32 with
member this.IsEven = this % 2 = 0
//test
let i = 20
if i.IsEven then printfn "'%i' is even" i
Pourquoi peut Est-ce que j'utilise l'abréviation de type int
?
Parce que vous ne pouvez pas. Parce qu'ils ne l'ont pas écrit comme ça. Car. – Will