Statisch aufgelöste Typparameter

Das folgende (vereinfachte) Snippet stammt aus einer Anwendung, die ich implementiere und die konsequent statisch aufgelöste Typparameter verwendet.

type A< ^B when ^B : (static member MyMember : Unit -> Unit)> = {
  Field : unit
}
type TestA = {
  AField : A< BTy >
}
and BTy = {
  BField : Unit
} with
  static member MyMember () = ()

IntelliSense gibt mir den folgenden Fehler, wenn ich den Feldtyp AField definiere (AField : A< BTy >) welches ist:Der Typ "BTy" unterstützt keine Operatoren mit dem Namen "MyMember"..

BEARBEITET. Sie separat zu deklarieren funktioniert, aber wenn ich eine gegenseitige Referenz habe und ichkann nicht deklarieren Sie einen dritten Typ, der die allgemeinen Informationen der beiden Typen enthält. Was soll ich tun, um dieses Problem zu vermeiden? Sowieso, wenn ich unten die Definitionen definierelet pluto = ("" :> obj) :?> A< BTy > es funktioniert, stelle ich mir vor, da beide typen von der let bindung sichtbar sind.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage