将 C# 转换为 Python

将 .NET 程序集或 NuGet 包转换为 WHL 格式的 Python 扩展模块,包含 C# 库的所有成员。这些成员可以以与本地 Python 类型系统或其他 Python 扩展的元素相同的方式用于 Python 编程。生成的 Python 模块兼容 Linux、MacOS 和 Windows。

CodePorting.Wrapper Cs2Python 是将 .NET 整合到 Python 项目中的最佳方法

CodePorting.Wrapper Cs2Python 是一款工具,旨在通过封装基于 .NET 的软件产品,使其能在 Python 中使用。对于希望在 Python 项目中使用现有 .NET 代码而无需重写整个代码库的开发人员来说,该工具尤其有用。该封装器可让开发人员轻松地将其 .NET 组件集成到 Python 应用程序中,从而节省时间和精力。

最新消息

Cs2Python 达到了一个重要里程碑:成功将 25 款产品从 C# 转换为 Python

C#示例
CSharp code example
从Python调用C#方法
Example using wrapped CSharp code in Python

在 Python 编程中使用 C# 类型和方法

当在Python中使用包装的C#代码时,你可以创建包装的C#程序集中声明的类型的对象。这些对象可以像任何其他Python对象一样被实例化和操作。你可以在这些对象上调用方法和访问属性。另外,这些对象可以作为参数传递给方法,实现Python和C#代码之间的无缝集成。

通过将这两种语言结合起来,您可以利用 C# 的强大和灵活性,同时享受 Python 的简单和易用。当您需要只有 C# 才能提供的特定功能或库时,这一点尤其有用。

此外,如果您正在用 C# 创建一个大型库,并希望将其作为 Wheel 包发布给 Python 用户,这也非常有用。通过封装 C# 程序集并提供 Python 接口,您可以让 Python 开发人员轻松访问并使用您的库。这样就可以将 C# 库无缝集成到 Python 项目中,扩大其覆盖范围和潜在用户群。将您的 C# 库作为 Python Wheel 包发布,可以方便 Python 用户安装和使用您的库,从而进一步提高库的可访问性和可用性。

创建 Python 扩展模块

封装器的源代码是一个编译成 NuGet 软件包的 C# 库。输出是一个 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# 代码之间的交互

该示例展示了如何在 Python 代码中使用封装的 C# 程序集中声明的集合和枚举。不仅基本类型之间支持隐式转换,Python 和 C# 集合之间也支持隐式转换。这意味着数据可以在两种语言之间轻松传输,而无需进行复杂的数据转换。之所以能做到这一点,是因为包装器模块包含了在 .NET 系统类型和其相应的本地 Python 类型之间进行隐式转换的代码,以便在 .NET 和 Python 上下文之间传递它们的值。

还支持 Python 协议,因此包装的 C# 类型可以在 Python 复合语句中使用,例如 forwithin 等。这允许 用于在与包装的 C# 对象交互的 Python 代码中轻松迭代和资源管理。 此外,数组和集合的包装类型支持 Python 切片表示法,从而可以方便地访问和操作这些数据结构中的元素。

总之,CodePorting.Wrapper Cs2Python 提供了广泛的功能,包括创建 C# 类型的对象、使用枚举、调用方法、访问属性、将对象作为方法参数传递、支持集合、与各种 Python 协议集成等。这款功能强大的工具允许开发人员利用 C# 和 Python 的优势创建强大而灵活的应用程序。

成功为 Python 包装的 C# 产品示例

相关文章