F # Generic Type Constraints und Duck Typing

Ich versuche, die Eingabe von Enten in F # zu implementieren, und habe festgestellt, dass Sie eine haben könnenMitgliedsbeschränkung in F # -Generika wie folgt:

type ListEntryViewModel<'T when 'T : (member Name : string)>(model:'T) = 
  inherit ViewModelBase()

  member this.Name with get() = model.Name

Der obige Code wird jedoch nicht kompiliert, wenn ich versuche, auf die Eigenschaft zu verweisen. Ich erhalte einen Compilerfehler:

Dieser Code ist nicht allgemein genug. Die Typvariable ^ T when ^ T: (member get_Name: ^ T -> string) konnte nicht verallgemeinert werden, da sie ihren Gültigkeitsbereich verlieren würde.

Ist es möglich, Ententypisierung über eine generische Einschränkung zu implementieren?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage