Wie stelle ich den Code in ProvidedConstructor
InvokeCode
korrekt in einem generativen Provider bereit, der das Äquivalent zu folgendem leistet?
Gegeben:
%Vor%Ich muss den generierten Typ effektiv tun:
%Vor%Ich habe den Aufruf des Basiskonstruktors ausgeführt, weiß aber nicht, wie ich die Instanz korrekt zerschneiden kann und bekomme die Funktion namens
%Vor%Ich habe das funktioniert über:
%Vor%Beachten Sie, dass der Versuch, die ersten zwei Zeilen in den Spleiß zu bewegen, alle Arten von Fehlern verursachte, aber wenn ich es herausziehe, funktioniert es perfekt.
Es sieht aus wie ein "this" -Argument wird als übergeben Letztes Argument zum ctor
Von dort wird Ihre InvokeCode-Funktion ausgeführt und das zurückgegebene Zitat wird übersetzt. Also, ich denke, alles, was Sie brauchen, ist etwas wie:
%Vor%@Reed Copsey, ich denke, du musst deinen eigenen Konstruktor nennen:
unter der Annahme, dass NewGeneratedType ein konkreter Typ ist, den Sie bereits definiert haben
%Vor%Wenn NewGeneratedType nicht definiert ist, aber auch ein bereitgestellter Typ selbst ist, benötigen Sie ein Expr.Coerce:
%Vor%Ich bin nicht 100% sicher, dass diese Funktion, aber ich hoffe, dass dies Sie in die Quere kommen wird.
Tags und Links f# type-providers