In Ihrem Beispiel gibt es keinen Unterschied. Wenn Rückgabetypen eingeschränkt sind, sehen Sie den Unterschied:
%Vor% Beachten Sie, dass #Control
eine Verknüpfung von 'T when 'T :> Control
ist.
Typbeschränkungen sind wichtig, um generische Funktionen für Subtypen zu erstellen.
Zum Beispiel
%Vor%gegen
%Vor% Wenn ein Wert direkt als Argument an eine F # -Funktion übergeben wird, erhöht der Compiler automatisch den Wert (wenn also die Funktion Control
benötigt, können Sie ihr TextBox
-Wert geben). Also, wenn Sie einen flexiblen Typ als eine Art von Parameter verwenden, gibt es keinen großen Unterschied.
Es gibt jedoch einen Unterschied, wenn die Funktion beispielsweise eine Liste 'T list
:
Tags und Links .net f# functional-programming f#-3.0