Ich habe mir andere Anweisungen angesehen und habe immer noch keine Ahnung, wie ich das machen soll. Ich habe zwei Projekte (Rechner in C # und Logik in F #). Ich habe einen Verweis auf Logic in Calculator hinzugefügt, sowie einen Verweis auf FSharp.Core
Aber wenn ich die Zeile hinzufügen
%Vor%In meinem C # -Projekt wird ein Fehler angezeigt, der besagt:
"Der Name Logic existiert im aktuellen Kontext nicht."
Es gibt ein Modul Logik im Logikprojekt, also sollte es richtig angezeigt werden? Was fehlt mir noch?
EDIT: Hier ist die Funktionsdefinition ...
%Vor%Sie können von C # nicht nur auf ein F # -Modul ohne Namespace verweisen. Tun Sie etwas wie folgt:
%Vor%oder gleichwertig
%Vor%und
%Vor%und Referenz F # Projekt von C # Projekt.
UPDATE : Wie JackP aufgezeigt hat, gibt es die andere Alternative, die es erlaubt Vermeiden Sie die Verwendung von expliziten Namespaces auf F # -Seite insgesamt.
Wenn Sie in C # eine Klasse außerhalb eines beliebigen Namespace erstellen, kann auf diese Klasse verwiesen werden, indem Sie den Namen mit global
kontextuellem Schlüsselwort gefolgt von ::
operator vorsetzen. Auf diese Weise wird Standard-Namespace der obersten Ebene . F # -Modul mit einem einfachen Namen außerhalb eines beliebigen Namespace vom Referenzstandpunkt aus entspricht einem namespace global
in der ersten Zeile des Codes. Wenn Sie diese Erwägung auf Ihren Fall anwenden, können Sie alternativ Folgendes tun:
Gore Details über global::
verfügbar auf MSDN .
Tags und Links c# visual-studio f#