Looking for vb.net Answers? Try Ask4KnowledgeBase
Looking for vb.net Keywords? Try Ask4Keywords

Visual Basic .NET Language拡張メソッド


備考

拡張メソッドは、型(参照型または値型でもよい)に機能を追加するメソッド( SubまたはFunction )です。これらのタイプはあなたが所有している場合と所有していない場合があります。

それらは、変更しようとしているタイプと同じアセンブリ内にある場合とそうでない場合があります。独自の名前空間で拡張メソッドを分離することで、拡張メソッドへのオプトインを許可することができます。あるいは、もしあなたが好むのであれば、それらが変更可能な型と同じ名前空間にそれらを含めることによってそれらを常に利用可能にすることができます(すべてのアセンブリ参照が適切であると仮定して)。拡張メソッドのオプトインスタイルの良い例については、GitHubのEntity Framework Core 1.0プロジェクトを参照してください。

VBの拡張メソッドにはいくつかの要件があります。

  • 拡張メソッドは、モジュールでのみ宣言できます。
  • 拡張メソッドは、 Extension()属性で修飾されていなければなりません。
  • ExtensionAttribute名前空間は、モジュール内で使用できる必要があります。
    Imports System.Runtime.CompilerServices
  • メソッドの最初のパラメータは、このメソッドがアタッチされる型でなければなりません。
  • メソッドの最初のパラメータは、このメソッドが動作するインスタンスを表します。 (これが本当のインスタンスメソッドであれば、 Me相当します)。
  • 拡張メソッドは、インスタンス化されたオブジェクトに対して呼び出されない場合は、すべてのパラメータを指定することで、通常のメソッドとして呼び出すことができます。

拡張メソッド 関連する例