F # -Code von C # anrufen
Ich bin Herumspielen mit F# und C#, und möchte rufen Sie F# - code aus C#.
Habe ich es geschafft es zum laufen zu bringen die andere Weise herum in Visual Studio, indem Sie zwei Projekte in der gleichen Projektmappe, und das hinzufügen einer Referenz zu dem C# - code des F# - Projekt. Nach diesem, ich nennen könnte C# - code und auch den Schritt, durch den es während des Debuggens.
Was ich versuche zu tun, ist F# - code AUS C# statt C# - code von F#. Ich habe einen Verweis auf die F# - Projekt C# - Projekt, ist es aber nicht so funktioniert, wie es Tat, bevor. Ich würde gerne wissen, ob dies möglich ist, ohne es manuell zu tun.
InformationsquelleAutor der Frage ZeroKelvin | 2009-01-25
Du musst angemeldet sein, um einen Kommentar abzugeben.
(EDIT: ursprünglich hatte ich im Zusammenhang mit diesen Dateien extern, aber mein SVN-host nicht mehr den anonymen Zugriff zulässt. So der code ist jetzt inline in dieses Antwort.)
Unten ist ein Beispiel der Aufruf F# ab C#.
Als begegnet Ihnen, ich war nicht in der Lage, fügen Sie einen Verweis, indem Sie aus der "Verweis Hinzufügen ..." - Projekten tab. Stattdessen habe ich es manuell tun, indem Sie auf den F# - assembly in der "Verweis Hinzufügen ... "Durchsuchen" - Registerkarte.
------ F# MODUL -----
----- C# UNIT-TESTS FÜR DAS MODUL -----
InformationsquelleAutor der Antwort Eric
Es sollte 'einfach funktionieren', wenn Sie vielleicht an bauen die F# - Projekt, bevor ein Projekt-zu-Projekt-Referenz von C# funktioniert (habe ich vergessen).
Einer gemeinsamen Quelle von Problemen ist die namespaces/Modulen. Wenn Sie Ihre F# - code beginnt nicht mit einer Namensraum-Deklaration, wird es in einem Modul mit dem gleichen Namen wie der Dateiname, so dass z.B. aus C# Ihre geben könnten, erscheinen als " - Programm.Foo" statt einfach nur "Foo" (wenn Foo ist ein F# - Typ, definiert im Programm.fs).
InformationsquelleAutor der Antwort Brian
Vom dieser link Sie scheinen zu haben eine Reihe von möglichen Lösungen, aber der eine schien der einfachste war dieser Kommentar:
F# - Code:
C# - Code:
InformationsquelleAutor der Antwort Chris Bunch
//Test.fs :
//Test.cs :
InformationsquelleAutor der Antwort merrais