Skip to main content

.NETAPIドキュメントに関するPythonプログラマー向けのヒント

スクリプトインターフェイスドキュメントの現在のプレリリースは、基盤となる.NETおよびC#ソースから自動的に生成されています。したがって、ドキュメントには、Pythonプログラマーにはなじみのない式がいくつか含まれています。次の概要は、Pythonの観点からこれらの式を理解する方法に関するヒントを提供します。

  • インターフェイスは、インターフェイスを実装するクラスのインスタンスに、準備する必要のあるメンバー(メソッド、プロパティ)を通知するコントラクトです。 IronPythonでは、スーパークラスから継承することにより、1つのクラスに1つ以上の.NETインターフェースを実装できます。インターフェイスにメソッドが必要であるが、クラス定義で使用できない場合は、例外がスローされます。 ( DeviceImportFromSvn.py 例は、を実装するクラスを示しています ImportReporter インターフェース。)

  • .NETの各パラメーターと各メソッドは厳密に型指定されています。パラメーターのタイプは、パラメーター名の前に1つのスペース文字で区切られ、メソッドからの戻り値のタイプは、メソッド名の前に1つのスペース文字で区切られます。クラス(またはインターフェース)を定義するときに、サブクラスのインスタンスを使用できます。戻り値のないメソッドがマークされます void

  • メソッドをオーバーロードできます。その結果、同じ名前の複数のメソッドが1つのクラスに存在する可能性があります。ただし、パラメータの数またはタイプは異なっている必要があります。 IronPythonは、呼び出される最も適切なメソッドのオーバーロードを自動的に処理します。

  • データ型 int -2,147,483,648から2,147,483,647までの整数に対応します。

    データ型 bool Pythonタイプに対応します bool ((TrueFalse)。

    データ型 string Pythonタイプに対応します str また unicode、IronPythonと同じです。

    The IDictionary<object, object> データ型は通常のPython辞書に対応しています。 IronPythonは、Pythonと.NETのデータ型を自動的に変換します。

  • いつ T タイプはから継承されます IBaseObject<T>、これは、このタイプが追加メンバー用の他のプラグインによって拡張できることを意味します。パラメータまたは戻り値としてのこの拡張タイプの実際の使用は、によってマークされます。 IExtendedObject<T>

  • The IEnumerable<T> へのインターフェース T typeは、すべてのPythonシーケンス(ジェネレーター、リスト、タプルなど)を使用できることを意味します。 T タイプ値(またはサブクラス)。互換性のないオブジェクトのシーケンスを返し、実行時に例外をスローします。

  • The IList<T> へのインターフェース T typeは、typeの要素のみを含むことを保証する典型的なリストを識別します T (またはサブクラス)。互換性のないオブジェクトを追加しようとすると、実行時に例外がスローされます。

  • The params T[] name タイプのパラメータのID T Pythonメカニズムに対応します *name 可変引数リストの場合。

  • Pythonでは、列挙型(enum)言語構造として存在しません。その目的は、特定の目的、たとえば曜日などの定数値の正確な数を定義することです。 IronPythonからの.NET列挙型へのアクセスは、「Name.Member」を使用して機能します。 OnlineChangeOption.Try

    Pythonで列挙型をエミュレートするためのさまざまなアプローチもあります。

    たとえば、次を参照してください。 http://pypi.python.org/pypi/enum/

  • 構文 T name { get; set; } プロパティを定義します name 名前としてそして T タイプとして。もしも set; が欠落している場合、プロパティは読み取り専用です。 Pythonでは、それぞれの構成は @property デコレータ。