Convertir C# en Python

Encapsulez une assemblée .NET ou un package NuGet et vous obtenez un module d'extension Python contenant tous les membres de votre bibliothèque C# qui peuvent être utilisés pour la programmation Python de la même manière que les éléments du système de types Python natif ou toute autre extension Python. Tout module Python généré est compatible avec Linux, MacOS et Windows.
Demander un service

CodePorting.Wrapper Cs2Python est la meilleure façon d'intégrer .NET dans les projets Python

CodePorting.Wrapper Cs2Python est un outil conçu pour rendre les produits logiciels basés sur .NET utilisables en Python en les encapsulant. Cet outil est particulièrement utile pour les développeurs qui souhaitent utiliser leur code .NET existant dans des projets Python sans avoir à réécrire toute la base de code. Le wrapper leur permet d'intégrer facilement leurs composants .NET dans des applications Python, économisant ainsi du temps et des efforts.
Exemple C#
CSharp code example
Appel d'une méthode C# depuis Python
Example using wrapped CSharp code in Python

Utilisation des types et méthodes C# en programmation Python

Lorsque vous utilisez du code C# encapsulé dans Python, vous pouvez créer des objets des types déclarés dans l'assemblage C# encapsulé. Ces objets peuvent être instanciés et manipulés comme tout autre objet Python. Vous pouvez appeler des méthodes et accéder à des propriétés sur ces objets. De plus, ces objets peuvent être passés en tant qu'arguments aux méthodes, permettant une intégration transparente entre le code Python et C#.

En combinant les deux langages, vous pouvez exploiter la puissance et la flexibilité de C# tout en profitant de la simplicité et de la facilité d'utilisation de Python. Cela est particulièrement utile lorsque vous avez besoin de fonctionnalités spécifiques ou de bibliothèques disponibles uniquement en C#.

De plus, cela peut être très utile si vous créez une grande bibliothèque en C# et souhaitez la distribuer aux utilisateurs Python sous forme de package Wheel. En encapsulant l'assemblage C# et en fournissant une interface Python, vous pouvez rendre votre bibliothèque facilement accessible et utilisable pour les développeurs Python. Cela permet une intégration transparente de votre bibliothèque C# dans les projets Python, élargissant sa portée et sa base d'utilisateurs potentiels. La possibilité de distribuer votre bibliothèque C# en tant que package Wheel Python la rend pratique pour les utilisateurs Python à installer et à utiliser, améliorant ainsi son accessibilité et sa convivialité.

Création d'un module d'extension Python

La source de l'enveloppe est une bibliothèque C# compilée dans un package NuGet. Le résultat est un package Wheel Python, considéré comme le format de package le plus standard pour la distribution d'extensions Python. Un avantage significatif est que l'assemblée C# enveloppée peut avoir des dépendances sur n'importe quel package NuGet tiers. De plus, il n'est pas nécessaire que le système de l'utilisateur Python ait le .NET Framework installé. Cela offre une plus grande flexibilité et facilité d'utilisation, car les utilisateurs peuvent intégrer de manière transparente votre bibliothèque C# dans leurs projets Python sans installations ni dépendances supplémentaires.
csharp to python conversion scheme
Code C#
Csharp code example 2
Code Python
Python code example 2

Interaction du code Python avec le code C# encapsulé

L'exemple montre comment les collections et énumérations déclarées dans une assemblée C# encapsulée peuvent être utilisées dans le code Python. La conversion implicite est prise en charge non seulement entre les types de base, mais aussi entre les collections Python et C#. Cela signifie que les données peuvent être facilement transférées entre les deux langages sans nécessiter de transformation complexe des données. Cela est possible car le module d'enveloppe inclut un code pour les conversions implicites entre les types de système .NET et leurs types Python natifs correspondants pour passer leurs valeurs entre les contextes .NET et Python.

Les protocoles Python sont également pris en charge, de sorte que les types C# encapsulés peuvent être utilisés dans des instructions composées Python telles que for, with, in, etc. Cela permet une itération facile et une gestion des ressources dans le code Python qui interagit avec les objets C# encapsulés. De plus, les types encapsulés pour les tableaux et les collections prennent en charge la notation de tranche Python, ce qui facilite l'accès et la manipulation des éléments au sein de ces structures de données.

En résumé, CodePorting.Wrapper Cs2Python offre une large gamme de capacités, y compris la création d'objets de types C#, le travail avec les énumérations, l'invocation de méthodes, l'accès aux propriétés, le passage d'objets en tant qu'arguments de méthode, le soutien des collections, l'intégration avec divers protocoles Python, et plus encore. Cet outil puissant permet aux développeurs de créer des applications robustes et flexibles en exploitant les forces à la fois de C# et de Python.

Exemples de produits C# encapsulés avec succès pour Python