拡張メソッドの基本 VB

VB Tips And Sample(HOME)VB.NET再入門

拡張メソッドの基本

拡張メソッドとは?
とっても簡単いえば、
既存のクラスをそのままに、そのクラスに独自のプラスαのメソッドを追加でき、そのメソッドを通常のクラスの関数と同様に使える関数、
と言うものです。
では、Stringに何を聞かれても「yes」と出力するprintYes()というメソッドを作ってみましょう。

	Module StringYes
		<System.Runtime.CompilerServices.Extension()> _
		Public Sub PrintYes(ByVal A As String, inputvalue As String)

		Select Case A
		    Case "夕ご飯を"
		        Console.WriteLine("Yes")
		    Case Else
		        Console.WriteLine("No")
		End Select
		End Sub
	End Module


	Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load

		Dim mystring1 As String = "夕ご飯を"
		mystring1.PrintYes("食べる?")

		Dim mystring2 As String = "朝ご飯を"
		mystring2.PrintYes("食べない?")

	End Sub
	

へー的に理解は可能のようです。

要点はモジュールに定義すること。
<System.Runtime.CompilerServices.Extension()> _を書くこと。
後は、
Public Sub 拡張メソッド名(ByVal その拡張メソッドを呼び出す任意の実態名で、何でも良い AS 拡張する型クラス名,パラメータ,パラメータ,・・・)
実際の処理
End Sub

なわけです。
しかし、これだと、上記のAggregateの拡張メソッドとは異なる部分があるようです。
近づけて改造してみたいのですが、
次の疑問はジェネリックや、デリゲートです。
ジェネリックとは?


VB Tips And Sample(HOME)VB.NET再入門