diff options
author | Peter Bengtsson <mail@peterbe.com> | 2020-12-08 14:40:17 -0500 |
---|---|---|
committer | Peter Bengtsson <mail@peterbe.com> | 2020-12-08 14:40:17 -0500 |
commit | 33058f2b292b3a581333bdfb21b8f671898c5060 (patch) | |
tree | 51c3e392513ec574331b2d3f85c394445ea803c6 /files/ja/mozilla/tech/xpcom/language_bindings/components.interfaces/index.html | |
parent | 8b66d724f7caf0157093fb09cfec8fbd0c6ad50a (diff) | |
download | translated-content-33058f2b292b3a581333bdfb21b8f671898c5060.tar.gz translated-content-33058f2b292b3a581333bdfb21b8f671898c5060.tar.bz2 translated-content-33058f2b292b3a581333bdfb21b8f671898c5060.zip |
initial commit
Diffstat (limited to 'files/ja/mozilla/tech/xpcom/language_bindings/components.interfaces/index.html')
-rw-r--r-- | files/ja/mozilla/tech/xpcom/language_bindings/components.interfaces/index.html | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/files/ja/mozilla/tech/xpcom/language_bindings/components.interfaces/index.html b/files/ja/mozilla/tech/xpcom/language_bindings/components.interfaces/index.html new file mode 100644 index 0000000000..8105f7f239 --- /dev/null +++ b/files/ja/mozilla/tech/xpcom/language_bindings/components.interfaces/index.html @@ -0,0 +1,37 @@ +--- +title: Components.interfaces +slug: Mozilla/Tech/XPCOM/Language_Bindings/Components.interfaces +tags: + - 'XPCOM:Language Bindings' + - XPConnect +translation_of: Mozilla/Tech/XPCOM/Language_Bindings/Components.interfaces +--- +<p> +</p><p><code>Components.interfaces</code> は、プロパティがそれらの名前によって索引付けされたクラスである、読み出し専用オブジェクトです。 +</p> +<h2 id="はじめに"> はじめに </h2> +<p><code>Components.interfaces</code> は、<a href="ja/NsIJSCID">nsIJSCID</a> インターフェースを実装した読み出し専用オブジェクトです。それぞれのオブジェクトは、いくつかのコンポーネントが実装している (あるいは未実装の可能性もあります) <a href="ja/XPCOM">XPCOM</a> インターフェースのひとつを表します。 +</p><p><br> +対応する <code>.idl</code> の宣言が <code>[scriptable]</code> として設計されたインターフェースのみを反映します。つまり、<a href="ja/XPConnect">XPConnect</a> が JavaScript へ反映することのできるインターフェースということです。 +</p><p><code>Components.interfaces</code> オブジェクトのプロパティは、<code>nsID</code> nsID 型のパラメータを除いた XPCOM メソッドで利用されます。これには <code><a href="ja/NsISupports">nsISupports</a>::<a href="ja/NsISupports/QueryInterface">QueryInterface</a></code>、<code>nsICID::getService</code> が受け取る追加パラメータ、<code>nsICID::createInstance</code> (JavaScript から呼ばれた場合)、<code><a href="ja/NsIClassInfo">nsIClassInfo</a>::<a href="ja/NsIClassInfo/getInterfaces">getInterfaces</a></code> が含まれます。 +</p><p><code>Components.interfaces</code> オブジェクトのプロパティは <code><a href="ja/Core_JavaScript_1.5_Reference/Statements/for...in">for...in</a></code> ループを使って列挙できます。 +</p> +<h2 id="使い方"> 使い方 </h2> +<h3 id="インターフェースオブジェクトへのアクセス"> インターフェースオブジェクトへのアクセス </h3> +<p><code>Components.interfaces</code> オブジェクトのプロパティはインターフェース名で索引付けされます。インターフェースオブジェクトは以下のようにして取得できます。 +</p> +<pre class="eval">var iface = Components.interfaces.nsISupportsArray; +</pre> +<p>この戻り値は <code>nsISupportsArray</code> インターフェースのインターフェースオブジェクトです。 +</p> +<h3 id="インターフェースで定義されたコンスタントへのアクセス"> インターフェースで定義されたコンスタントへのアクセス </h3> +<p>Interface descriptions (cf. <a href="ja/XPIDL">XPIDL</a>) may not only contain method declarations, but also constants. For example, assume we have the following interface declaration: +</p> +<pre class="eval">interface nsIFoo : nsISupports { + const PRUint32 MYFLAG = 5; +}; +</pre> +<p>The constant <code>MYFLAG</code> can then be accessed using +</p> +<pre class="eval">var myFlag = Components.interfaces.nsIFoo.MYFLAG; +</pre> |