Оборачивание библиотеки C# для Python

Оберните сборку .NET или NuGet-пакет и получите модуль расширения Python, содержащий все элементы вашей C# библиотеки, которые можно использовать в Python так же, как элементы собственной системы типов Python или любых других расширений Python. Сгенерированный модуль Python совместим с Linux, MacOS и Windows.
Заказать услугу

CodePorting.Wrapper Cs2Python — лучший способ интеграции .NET в проекты Python

CodePorting.Wrapper Cs2Python — это инструмент, предназначенный для того, чтобы сделать программные продукты на основе .NET пригодными для использования в Python посредством их оборачивания. Этот инструмент особенно полезен разработчикам, которые хотят использовать существующий код .NET в проектах Python без необходимости переписывать всю кодовую базу. Оборачивание существующей сборки позволяет легко интегрировать .NET-компоненты в приложения Python, экономя время и усилия.
C# код
CSharp code example
Вызов метода C# из Python
Example using wrapped CSharp code in Python

Использование типов и методов C# в программе на Python

В Python вы можете создавать объекты типов, объявленных в обернутой C# сборке. Этими объектами можно манипулировать так же, как и любыми другими объектами Python. Вы можете вызывать методы, получать доступ к свойствам этих объектов и передавать их качестве аргументов.

Объединив два языка, вы сможете использовать мощь и гибкость C#, одновременно наслаждаясь простотой и удобством использования Python. Это особенно полезно, когда вам нужны определенные функции или библиотеки, доступные только в C#.

Кроме того, это может быть очень полезно, если вы создаете большую библиотеку на C# и хотите распространить ее среди пользователей Python в виде пакета Wheel. Обернув сборку C# и предоставив интерфейс Python, вы можете сделать свою библиотеку легко доступной и удобной для использования разработчиками Python. Это позволяет беспрепятственно интегрировать вашу библиотеку C# в проекты Python, расширяя ее охват и потенциальную базу пользователей. Возможность распространять вашу библиотеку C# в виде пакета Python Wheel позволяет пользователям Python легко устанавливать и использовать вашу библиотеку, что еще больше повышает ее доступность и удобство использования.

Создание модуля расширения Python

Входными данными является библиотека C#, скомпилированная в пакет NuGet. На выходе враппера получается пакет Python Wheel , который считается наиболее стандартным форматом пакета для распространения расширений Python. Существенным преимуществом является то, что обернутая сборка C# может иметь зависимости от любых сторонних пакетов NuGet. Кроме того, в системе пользователя Python не обязательно должна быть установлена ​​.NET Framework. Это обеспечивает большую гибкость и простоту использования, поскольку пользователи могут легко интегрировать вашу библиотеку C# в свои проекты Python без каких-либо дополнительных установок или зависимостей.
csharp to python conversion scheme
C# код
Csharp code example 2
Python код
Python code example 2

Взаимодействие кода Python с обернутым кодом C#

В примере показано, как коллекции и перечисления, объявленные в обернутой сборке C#, могут быть использованы в коде Python. Неявное преобразование поддерживается не только между базовыми типами, но также между коллекциями Python и C#. Это означает, что данные можно легко передавать между двумя языками без необходимости сложного преобразования данных. Это возможно, поскольку модуль-оболочка включает код для неявных преобразований между системными типами .NET и соответствующими собственными типами Python для передачи их значений между контекстами .NET и Python.

Поддерживаются также протоколы Python, поэтому обернутые типы C# можно использовать в составных операторах Python, таких как for, with, in и т. д. Это позволяет выполнять итерирование в коде Python, который взаимодействует с обернутыми объектами C#. Более того, обернутые типы для массивов и коллекций поддерживают нотацию срезов Python, что упрощает доступ к элементам внутри этих структур данных и манипулирование ими.

CodePorting.Wrapper Cs2Python предлагает широкий спектр возможностей, включая создание объектов типов C#, работу с перечислениями, вызов методов, доступ к свойствам, передачу объектов в качестве аргументов метода, поддержку коллекций, интеграцию с различными протоколами Python и многое другое. Этот мощный инструмент позволяет разработчикам создавать надежные и гибкие приложения, используя сильные стороны C# и Python.

Примеры C# продуктов, успешно обернутых для Python