C# から Python 変換

.NET アセンブリまたは NuGet パッケージをラップすると、ネイティブ Python 型システムや他の Python 拡張機能の要素と同じ方法で Python プログラミングに使用できる、C# ライブラリのすべてのメンバーを含む Python 拡張モジュールが得られます。 生成された Python モジュールは、Linux、MacOS、および Windows と互換性があります。
リクエストサービス

CodePorting.Wrapper Cs2Python は、.NET を Python プロジェクトに統合する最良の方法です

CodePorting.Wrapper Cs2Python は、.NET ベースのソフトウェア製品をラップすることで Python で使用できるようにするために設計されたツールです。 このツールは、コードベース全体を書き直すことなく、既存の .NET コードを Python プロジェクトで使用したい開発者にとって特に便利です。 ラッパーを使用すると、.NET コンポーネントを Python アプリケーションに簡単に統合できるため、時間と労力を節約できます。
C#の例
CSharp code example
PythonからのC#メソッドの呼び出し
Example using wrapped CSharp code in Python

Python プログラミングでの C# の型とメソッドの使用

Python でラップされた C# コードを使用する場合、ラップされた C# アセンブリで宣言された型のオブジェクトを作成できます。 これらのオブジェクトは、他の Python オブジェクトと同様にインスタンス化して操作できます。 これらのオブジェクトのメソッドを呼び出してプロパティにアクセスできます。 さらに、これらのオブジェクトを引数としてメソッドに渡すことができるため、Python と C# コード間のシームレスな統合が可能になります。

2 つの言語を組み合わせることで、Python のシンプルさと使いやすさを享受しながら、C# のパワーと柔軟性を活用できます。 これは、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# コードの相互作用

この例では、ラップされた C# アセンブリで宣言されたコレクションと列挙を Python コードで使用する方法を示します。 暗黙的な変換は、基本型間だけでなく、Python と C# コレクション間でもサポートされています。 これは、複雑なデータ変換を必要とせずに、2 つの言語間でデータを簡単に転送できることを意味します。 これが可能になるのは、.NET と Python コンテキスト間で値を渡すための、.NET システム タイプとそれに対応するネイティブ Python タイプの間の暗黙的な変換用のコードがラッパー モジュールに含まれているためです。

Python プロトコルもサポートされているため、ラップされた C# 型を forwithin などの Python 複合ステートメントで使用できます。 ラップされた C# オブジェクトと対話する Python コードでの反復とリソース管理が簡単になります。 さらに、配列およびコレクションのラップされた型は Python スライス表記をサポートしているため、これらのデータ構造内の要素にアクセスして操作するのが便利になります。

要約すると、CodePorting.Wrapper Cs2Python は、C# 型のオブジェクトの作成、列挙型の操作、メソッドの呼び出し、プロパティへのアクセス、メソッド引数としてのオブジェクトの受け渡し、コレクションのサポート、さまざまな Python プロトコルとの統合など、幅広い機能を提供します。 この強力なツールを使用すると、開発者は C# と Python の両方の長所を活用して、堅牢で柔軟なアプリケーションを作成できます。

Python 用に正常にラップされた C# 製品の例