フワシ。 †
・ヌ・・イ。シ・ネ †
- ・ヌ・・イ。シ・ネ、ネ、マ・皈ス・テ・ノ、リ、ホサイセネ、シィ、ケニテシ、ハ・ッ・鬣ケ、ヌ、「、。」
- Delegate・ケ・ニ。シ・ネ・皈・ネ、ヘヘム、キ、ニトオチ、ケ、。」
- "delegete"、ヒ、マニーサ、ホセケ遑ヨームセ、ケ、。ラ。ヨームヌ、、ケ、。ラ。「フセサ、ホセケ遑ヨツ衙ス。ラ。ヨツ袁ソヘ。ラ、ネ、、、ヲーユフ」、ャ、「、。」
・ヌ・・イ。シ・ネ、ホケスハク †
Delegate Sub <・ヌ・・イ。シ・ネフセ>(<・ム・鬣癸シ・ソ1>, <・ム・鬣癸シ・ソ2>, 。ト)
Delegate Function <・ヌ・・イ。シ・ネフセ>(<・ム・鬣癸シ・ソ1>, <・ム・鬣癸シ・ソ2>, 。ト) As <・ヌ。シ・ソキソ>
ホ罍ァ
Delegate Function SampleDelegate(ByVal value As Integer) As Integer
。
・ヌ・・イ。シ・ネ・ェ・ヨ・ク・ァ・ッ・ネ、ホタクタョ †
- ・ヌ・・イ。シ・ネ、マ・ッ・鬣ケ、ハ、ホ、ヌ。「ヘヘム、ケ、コン、ヒ、マNew・ュ。シ・。シ・ノ、ヌ・ヌ・・イ。シ・ネ・ェ・ヨ・ク・ァ・ッ・ネ、タクタョ、ヌ、ュ、。」
- ・ヌ・・イ。シ・ネ・ッ・鬣ケ、ホ・ウ・・ケ・ネ・鬣ッ・ソ、ヒ、マ、ス、ホ・ヌ・・イ。シ・ネ、ネエリマ「ノユ、ア、・皈ス・テ・ノ、AddressOf・ュ。シ・。シ・ノ、ノユ、ア、ニサリト熙ケ、。」
ホ罍ァSampleDelegate、ホ・ヌ・・イ。シ・ネ・ェ・ヨ・ク・ァ・ッ・ネMyDelegate、ヒ・皈ス・テ・ノMethod1、エリマ「ノユ、ア、。」
Dim MyDelegate As SampleDelegate = New SampleDelegate(AddressOf Method1)
。
- 、ソ、タ、キ。「エリマ「ノユ、ア、、ウ、ネ、ャ、ヌ、ュ、・皈ス・テ・ノ、マ。「・ム・鬣癸シ・ソ、ホ・ヌ。シ・ソキソ、ホハツ、モ、ネフ皃テヘ、ホ・ヌ。シ・ソキソ、ャーテラ、ケ、セケ遉ホ、゚、ヌ、「、。」
ホ罍ァ、ウ、、゙、ヌ、ホホ网ヌ、、、ィ、ミ。「・皈ス・テ・ノMethod1、マシ。、ホ・、・・ソ・ユ・ァ。シ・ケ、ヌ、「、ノャヘラ、ャ、「、。」
Function Method1(ByVal a As Integer) As Integer
。
AddHandler、サネ、テ、ソ・ヌ・・イ。シ・ネ、ネ・皈ス・テ・ノ、ホエリマ「ノユ、ア †
。。AddHander、サネ、テ、ニ・ヌ・・イ。シ・ネ、ネ・皈ス・テ・ノ、エリマ「ノユ、ア、、ウ、ネ、筅ヌ、ュ、。」
ホ罍ァ・オ。シ・ミ。シ・ル。シ・ケ・ソ・、・゙。シ、ヌ、「、System.Timers.Timer、マElapseEventHandler・ヌ・・イ。シ・ネ、サ、ト。」、゙、ソ。「、ウ、ホ・ソ・、・゙。シ、ウォサマ、ケ、、ネ、ュ、マEnabled・ラ・・ム・ニ・」、True。「スェホサ、ケ、、ネ、ュ、マEnabled・ラ・・ム・ニ・」、False、ヒタ゚ト熙ケ、。」
。。0.1ノテ、エ、ネ、ヒイソ、鬢ォ、ホス靉、ケヤ、、、ソ、、セケ遉マシ。、ホ、隍ヲ、ヒ、ケ、。」
1
2
3
4
5
6
7
8
9
10
11
12
| | Public Sub New()
。ト
Dim Timer1 As New System.Timers.Timer()
AddHandler Timer1.Elapsed, New ElapsedEventHandler(AddressOf Method1)
Timer1.Interval = 100
Timer1.Enabled = True
End Sub
Private Sub Method1(ByVal sender As Object, ByVal e As ElapsedEventArgs)
End Sub
|
。。、ウ、、マ・ト。シ・・ワ・テ・ッ・ケ、ホ・ウ・・ン。シ・ヘ・・ネ、ォ、餤imer。ハ、ウ、、マSystem.Windows.Forms.Timer。ヒ、・ユ・ゥ。シ・爨ヒナス、ノユ、ア、ニ。「、ス、ホTimer、ホTick・、・ル・・ネサ、ホス靉、ネ、キ、ニ。「0.1ノテ、エ、ネ、ヒシツケヤ、オ、、ス靉、オュスメ、キ。「Interval・ラ・・ム・ニ・」、ヒ100、タ゚ト熙キ、ニ、ェ、ア、ミ。「サ、ソ、隍ヲ、ハニーコ、マシツクス、ヌ、ュ、*1。」
1
2
3
| | Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
End Sub
|
。。、ハ、ェ。「、ウ、、ヘヘム、キ、ソホ网VB.NET/・ニ・ッ・ヒ・テ・ッ/・「・、・ウ・・「・ヒ・癸シ・キ・逾、ヌセメイ、キ、ニ、、、。ハSystem.Timers.Timer、ヘヘム。ヒ。」。。。
エリマ「ノユ、ア、鬢、ソ・皈ス・テ・ノ、ホクニ、モスミ、キ †
- ・皈ス・テ・ノ、・ヌ・・イ。シ・ネ、ヒエリマ「ノユ、ア、、ネ。「・ヌ・・イ。シ・ネ、トフ、ク、ニ・皈ス・テ・ノ、クニ、モスミ、サ、。」
- エリマ「ノユ、ア、・皈ス・テ・ノ、ヒ、マ・、・・ケ・ソ・・ケ・皈ス・テ・ノ。「カヲヘュ・皈ス・テ・ノ、ホ、、、コ、、篏ネヘム、ヌ、ュ、。」
- ・、・・ケ・ソ・・ケ・皈ス・テ・ノ、エリマ「ノユ、ア、セケ遉マ。「・皈ス・テ・ノ、クニ、モスミ、ケ・、・・ケ・ソ・・ケ、カ靆フ、ケ、。」
ホ罍ァ
Method1(<・ム・鬣癸シ・ソ>)
、シツケヤ、ケ、ツ螟、熙ヒ。「
MyDelegate(<・ム・鬣癸シ・ソ>)
、ヌシツケヤ、ヌ、ュ、。」
。。MyDelegate、マ・ェ・ヨ・ク・ァ・ッ・ネ、タ、ャ。「、「、ソ、ォ、筵皈ス・テ・ノ、ホ、隍ヲ、ヒサネ、ィ、。」。。。
ホ罍ァツセ・ッ・鬣ケ、ホ・、・・ケ・ソ・・ケ・皈ス・テ・ノ、ネカヲヘュ・皈ス・テ・ノ、・ヌ・・イ。シ・ネ、ヒエリマ「ノユ、ア、。」
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
| | Imports System
Class TestClass
Private text_ As String
Public Sub New(ByVal text As String)
text_ = text
End Sub
Public Sub Method1()
Console.writeLine(text_)
End Sub
Public Shared Sub Method2()
End Sub
End Class
Class Sample
Shared Sub Main()
Dim instance1 As New TestClass("test")
Dim action1 As New Action(AddressOf instance1.Method1)
action1()
Dim instance2 As New TestClass("test")
Dim action2 As New Action(AddressOf instance2.Method1)
action2()
Dim action3 As New Action(AddressOf TestClass.Method2)
action3()
End Sub
End Class
|
。
・ク・ァ・ヘ・・テ・ッ。ヲ・ヌ・・イ。シ・ネ †
Action<T>・ヌ・・イ。シ・ネ †
。。.NET Framework 2.0、ホ・ッ・鬣ケ・鬣、・ヨ・鬣遙ハSystemフセチーカエヨ。ヒ、ヒ、マ。「シ。、ヒシィ、ケ・ク・ァ・ヘ・・テ・ッ。ヲ・ヌ・・イ。シ・ネ、ホタクタ、ャエ゙、゙、、ニ、、、。」
・ヌ・・イ。シ・ネ、ホウ靉ム †
・ウ。シ・・ミ・テ・ッス靉 †
。。・皈ス・テ・ノ、ホ・ム・鬣癸シ・ソ、ヒ・ヌ・・イ。シ・ネ、ナマ、キ、ニ。「、ス、ホ・皈ス・テ・ノ、ホクニ、モスミ、キタ隍ヌ・ヌ・・イ。シ・ネ、シツケヤ、ケ、、ウ、ネ、ャ、ヌ、ュ、。」
ホ罍ァ
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
| | Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim x As Integer = TripleData(Integer.Parse(TextBox1.Text))
Label1.Text = "キラササキイフ。ァ " & x
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim x As Integer = HalfData(Integer.Parse(TextBox1.Text))
Label1.Text = "キラササキイフ。ァ " & x
End Sub
Private Function TripleData(ByVal n As Integer) As Integer
Return n * 3
End Function
Private Function HalfData(ByVal n As Integer) As Integer
Return n / 2
End Function
End Class
|
。。、ウ、ホ・ラ・・ー・鬣爨ヌ、マ・ニ・ュ・ケ・ネ・ワ・テ・ッ・ケ、ヒニホマ、キ、ソテヘ、シ隍スミ、キ、ニソサ、ヒハムエケ、ケ、ス靉、ネ。「TripleData()、腥alfData()、ヌニタ、ソテヘ、・鬣ル・、ヒタ゚ト熙ケ、イユス熙ャスナハ」、キ、ニ、、、。」、゙、ソ。「・ニ・ュ・ケ・ネ・ワ・テ・ッ・ケ、ォ、鯏ヘ、シ隍スミ、ケス靉、ネ。「・鬣ル・、ヒキラササキイフ、タ゚ト熙ケ、ス靉、マ1ス靉、ホ、゙、ネ、゙、熙ネケヘ、ィ、、ウ、ネ、ャ、ヌ、ュ、。」
。。、ス、ウ、ヌ。「・ヌ・・イ。シ・ネ、サネ、ヲ、ネシ。、ホ、隍ヲ、ヒス、タオ、ヌ、ュ、。」
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
| | Public Class Form1
Delegate Function CalcDelegate(ByVal n As Integer) As Integer
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim MyCalc As CalcDelegate = New CalcDelegate(AddressOf TripleData)
Process(MyCalc)
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim MyCalc As CalcDelegate = New CalcDelegate(AddressOf HalfData)
Process(MyCalc)
End Sub
Private Sub Process(ByVal callBack As CalcDelegate)
Dim n As Integer = Integer.Parse(TextBox1.Text)
Dim x As Integer = callBack(n)
Label1.Text = "キラササキイフ。ァ " & x
End Sub
Private Function TripleData(ByVal n As Integer) As Integer
Return n * 3
End Function
Private Function HalfData(ByVal n As Integer) As Integer
Return n / 2
End Function
End Class
|
。。、ウ、ヲ、ケ、、ウ、ネ、ヌ。「Process()、ホクニ、モスミ、キクオ、マ・ニ・ュ・ケ・ネ・ワ・テ・ッ・ケ、ォ、鬢ホテヘ、ホシ霹タ、茹鬣ル・、ヒキラササキイフ、タ゚ト熙ケ、、ネ、、、テ、ソス靉、ーユシア、ケ、、ウ、ネ、マ、ハ、、。」Process()、ホクニ、モスミ、キクオ、ヌ、「、・ワ・ソ・、ホイ。イシ・、・ル・・ネ、マ。「シォソネ、ャイソ、ホフワナェ、ホ・ワ・ソ・、ヌ、「、、ォ、マヌトーョ、キ、ニ、、、、ソ、癸「キラササ、ヒサネヘム、ケ、・皈ス・テ・ノ、タ、ア、テホ、、タ、ア、ヌススハャ、ヌ、「、。」
ハフ・ケ・・テ・ノ、ォ、鬣ウ・・ネ・。シ・、チ犲、ケ、 †
ホ罍ァ
1
2
3
4
5
6
7
8
9
10
11
| | #Region "・ニ・ュ・ケ・ネ・ワ・テ・ッ・ケ、ヒハクサホニホマタゥク"
Private Delegate Function InputDelegate(ByVal text As String) As Boolean
Private Function InputTextBox(ByVal text As String) As Boolean
TextBox1.Text = TextBox1.Text + text + vbCrLf
End Function
Private Sub invokeTextBox(ByVal dlg As InputDelegate, ByVal text As String)
TextBox1.Invoke(dlg, New Object() {text})
End Sub
#End Region
|
。。ハフ・ケ・・テ・ノ、ォ、鮟ネヘム、ケ、、ネ、ュ、マシ。、シツケヤ、ケ、。」
Dim dlg As New InputDelegate(AddressOf InputTextBox)
invokeTextBox(dlg, "ハクサホ")
・ヌ・・イ。シ・ネ、ネ・ウ。シ・ヌ・」・・ーオャフ †
- ・ヌ・・イ。シ・ネフセ、マPascalキチシー、ヒ、ケ、。」
- ・、・ル・・ネフセ、マPascalキチシー、ヒ、ケ、。」
- ・、・ル・・ネ、ヌサネヘムs、、ヲ、ソ、皃ホ・ヌ・・イ。シ・ネ、ヒ、マ"EventHandler"・オ・ユ・」・ッ・ケ、ノユ、ア、。」
- 、ウ、、ヒ、隍・、・ル・・ネ・マ・・ノ・鬢ャナミマソ、オ、、、ウ、ネ、ャフタウホ、ヒ、ハ、遙「イトニノタュ、ャクセ蚶、、ヲ。」
- ホ罍ァPublic Delegate Sub MouseOverEventHandler(ByVal sender As Object, ByVal e As MouseEventArgs)
- ・、・ル・・ネ、ヌサネヘム、ケ、、ソ、皃ホ・ヌ・・イ。シ・ネ、マSub、ヌタクタ、ケ、。」
- フ皃テヘ、ャ、「、・ヌ・・イ。シ・ネ、・、・ル・・ネ、ヌサネヘム、ケ、、ウ、ネ、マ、ヌ、ュ、ハ、、。」
サイケヘハクク・ †
- 。リVisual Basic 2008ニフ遑ル
- 。リVB.NET・。シ・・ヨ・テ・ッ。ル