「C Sharpの基礎 - 拡張メソッド」の版間の差分

ナビゲーションに移動 検索に移動
43行目: 43行目:


== 拡張メソッドの実装 ==
== 拡張メソッドの実装 ==
# 拡張メソッドを実装するための静的クラスを定義する。<br>この静的クラスは、クライアントコードから参照できる必要がある。
# スタティッククラスの作成
# 拡張メソッドを静的メソッドとして実装する。
#: 拡張メソッドはスタティッククラスの中で定義される。
# メソッドの最初の引数では、操作する型を指定する。<br>型名の前には、this修飾子を付加する。
#: これは、拡張メソッドがどのクラスにも属さないため、スタティッククラスが適しているためである。
#: また、スタティッククラスは、クライアントコードから参照できる必要がある。
#: <br>
# スタティックメソッドの作成
#: 拡張メソッドはスタティックメソッドとして定義される。
#: 最初のパラメータ (第1引数) の型名の前には、必ず、<code>this</code>キーワードを用いて対象の型を指定する。
#: これにより、その型のインスタンスでメソッドを呼び出すことが可能になる。
#: <br>
# 拡張メソッドの使用
#: 拡張メソッドは、通常のインスタンスメソッドと同様に呼び出すことができる。
#: ただし、異なる名前空間に定義している場合は、<code>using</code>ディレクティブを使用して、拡張メソッドが定義されている名前空間をインポートする必要がある。
<br>
<br>
名前の衝突において、呼び出し元のクラスで定義されているメソッドが優先されるため、拡張メソッドが使用されることはない。<br>
名前の衝突において、呼び出し元のクラスで定義されているメソッドが優先されるため、拡張メソッドが使用されることはない。<br>

案内メニュー