Konvertieren Sie C# in Python

Erstellen Sie ein Python-Erweiterungsmodul durch das Einbinden einer .NET-Assembly oder eines NuGet-Pakets, welches alle Elemente Ihrer C#-Bibliothek enthält. Diese können dann für die Python-Programmierung genauso verwendet werden wie Elemente des nativen Python-Typsystems oder andere Python-Erweiterungen. Jedes generierte Python-Modul ist kompatibel mit Linux, MacOS und Windows.
Service anfordern

CodePorting.Wrapper Cs2Python ist der beste Weg, um .NET in Python-Projekte zu integrieren

CodePorting.Wrapper Cs2Python ist ein Werkzeug, das darauf ausgelegt ist, auf .NET basierende Softwareprodukte durch Wrapping in Python nutzbar zu machen. Dieses Tool ist besonders nützlich für Entwickler, die ihren bestehenden .NET-Code in Python-Projekten verwenden möchten, ohne den gesamten Code neu schreiben zu müssen. Der Wrapper ermöglicht es ihnen, ihre .NET-Komponenten problemlos in Python-Anwendungen zu integrieren, wodurch Zeit und Mühe gespart werden.
C#-Beispiel
CSharp code example
Aufrufen einer C#-Methode von Python aus
Example using wrapped CSharp code in Python

Verwendung von C#-Typen und -Methoden in der Python-Programmierung

Beim Verwenden von eingebundenem C#-Code in Python können Sie Objekte von Typen erstellen, die in der eingebundenen C#-Assembly deklariert sind. Diese Objekte können instanziiert und manipuliert werden wie jedes andere Python-Objekt. Sie können Methoden aufrufen und Eigenschaften auf diesen Objekten zugreifen. Zusätzlich können diese Objekte als Argumente an Methoden übergeben werden, was eine nahtlose Integration zwischen dem Python- und C#-Code ermöglicht.

Durch die Kombination der beiden Sprachen können Sie die Leistungsfähigkeit und Flexibilität von C# nutzen und gleichzeitig von der Einfachheit und Benutzerfreundlichkeit von Python profitieren. Dies ist besonders nützlich, wenn Sie bestimmte Funktionen oder Bibliotheken benötigen, die nur in C# verfügbar sind.

Zusätzlich kann dies sehr nützlich sein, wenn Sie eine große Bibliothek in C# erstellen und diese als Wheel-Paket an Python-Benutzer verteilen möchten. Indem Sie die C#-Assembly einbinden und eine Python-Schnittstelle bereitstellen, können Sie Ihre Bibliothek leicht zugänglich und benutzbar für Python-Entwickler machen. Dies ermöglicht eine nahtlose Integration Ihrer C#-Bibliothek in Python-Projekte, erweitert deren Reichweite und potenzielle Benutzerbasis. Die Möglichkeit, Ihre C#-Bibliothek als Python-Wheel-Paket zu verteilen, macht es für Python-Benutzer bequem, Ihre Bibliothek zu installieren und zu nutzen, was deren Zugänglichkeit und Benutzerfreundlichkeit weiter erhöht.

Erstellen eines Python-Erweiterungsmoduls

Die Quelle des Wrappers ist eine in ein NuGet-Paket kompilierte C#-Bibliothek. Das Ergebnis ist ein Python Wheel Paket, welches als das standardmäßigste Paketformat für die Verteilung von Python-Erweiterungen gilt. Ein bedeutender Vorteil ist, dass die eingebundene C#-Assembly Abhängigkeiten von beliebigen Drittanbieter-NuGet-Paketen haben kann. Zusätzlich ist es nicht notwendig, dass das System des Python-Benutzers das .NET Framework installiert hat. Dies bietet eine größere Flexibilität und Benutzerfreundlichkeit, da Benutzer Ihre C#-Bibliothek nahtlos in ihre Python-Projekte integrieren können, ohne zusätzliche Installationen oder Abhängigkeiten.
csharp to python conversion scheme
C#-Code
Csharp code example 2
Python-Code
Python code example 2

Interaktion von Python-Code mit eingebundenem C#-Code

Das Beispiel zeigt, wie Sammlungen und Enumerationen, die in einer eingebundenen C#-Assembly deklariert sind, im Python-Code verwendet werden können. Implizite Konvertierung wird nicht nur zwischen Basistypen, sondern auch zwischen Python- und C#-Sammlungen unterstützt. Dies bedeutet, dass Daten leicht zwischen den beiden Sprachen übertragen werden können, ohne dass komplexe Datentransformationen erforderlich sind. Dies ist möglich, weil das Wrapper-Modul einen Code für implizite Konvertierungen zwischen .NET-Systemtypen und ihren entsprechenden nativen Python-Typen enthält, um ihre Werte zwischen .NET- und Python-Kontexten zu übergeben.

Python-Protokolle werden ebenfalls unterstützt, sodass eingebundene C#-Typen in Python-Verbundanweisungen wie for, with, in usw. verwendet werden können. Dies ermöglicht eine einfache Iteration und Ressourcenverwaltung in Python-Code, der mit den eingebundenen C#-Objekten interagiert. Darüber hinaus unterstützen eingebundene Typen für Arrays und Sammlungen die Python-Slice-Notation, was es bequem macht, auf Elemente innerhalb dieser Datenstrukturen zuzugreifen und sie zu manipulieren.

Zusammenfassend lässt sich sagen, dass CodePorting.Wrapper Cs2Python eine breite Palette von Möglichkeiten bietet, einschließlich der Erstellung von Objekten von C#-Typen, der Arbeit mit Enums, dem Aufruf von Methoden, dem Zugriff auf Eigenschaften, der Übergabe von Objekten als Methodenargumente, der Unterstützung von Sammlungen, der Integration mit verschiedenen Python-Protokollen und vielem mehr. Mit diesem leistungsstarken Tool können Entwickler robuste und flexible Anwendungen erstellen, indem sie die Stärken von C# und Python nutzen.

Beispiele für erfolgreich für Python gewrappte C#-Produkte