‘'警察抓小偷()
Module Module1
'事件委托
Public Delegate Sub 抓小偷事件(ByVal sender As 小偷, ByVal e As 偷东西事件参数)
'事件参数
Public Class 偷东西事件参数
Inherits System.EventArgs
Public 偷的东西 As String
Public 偷的地点 As String
Public 被偷的人 As String
End Class
'警察类
Public Class 警察
Public Sub New()
Console.WriteLine("生成警察。。。")
Console.WriteLine()
End Sub
Public Sub 抓小偷(ByVal sender As 小偷, ByVal e As 偷东西事件参数)
Console.WriteLine()
Console.WriteLine("警察:小毛贼,哪里跑,。。。")
Console.WriteLine("(小偷被抓。)")
Console.WriteLine()
Console.WriteLine("警察:什么名字?")
Console.WriteLine("小偷:" & sender.姓名)
Console.WriteLine("警察:偷了什么?")
Console.WriteLine("小偷:" & e.偷的东西)
Console.WriteLine("警察:在哪里偷的?")
Console.WriteLine("小偷:" & e.偷的地点)
Console.WriteLine("警察:偷了谁的?")
Console.WriteLine("小偷:" & e.被偷的人)
Console.WriteLine("警察:蹲局子去!100天。")
Console.WriteLine()
End Sub
End Class
'小偷类
Public Class 小偷
Private _姓名 As String
Public Property 姓名() As String
Get
Return _姓名
End Get
Set(ByVal Value As String)
_姓名 = Value
End Set
End Property
Public Sub New(ByVal 姓名 As String)
Console.WriteLine("生成小偷。。。" & "(" & 姓名 & ")")
Me.姓名 = 姓名
Console.WriteLine()
End Sub
Public Event 警察抓小偷事件 As 抓小偷事件
Public Sub 偷东西(ByVal 偷的东西 As String, ByVal 偷的地点 As String, ByVal 被偷的人 As String)
Console.WriteLine("小偷:哈哈。。。今天偷了" & 偷的东西)
Console.WriteLine("(小偷正在暗喜,欲溜。。。。)")
Console.WriteLine()
Dim e As New 偷东西事件参数
e.偷的东西 = 偷的东西
e.偷的地点 = 偷的地点
e.被偷的人 = 被偷的人
RaiseEvent 警察抓小偷事件(Me, e) '偷东西激发警察抓小偷事件
End Sub
End Class
'主程序
Sub Main()
Dim 张三 As 小偷 = New 小偷("张三")
Dim 李四 As New 警察
Console.WriteLine("公交车上,人很多,警察小偷都有,。。。(有好戏看了)。")
'警察开始监视小偷,若偷即抓
AddHandler 张三.警察抓小偷事件, AddressOf 李四.抓小偷
张三.偷东西("一部手机。", "公交车上。", "一名女士。")
Console.ReadLine()
End Sub
End Module
转自csdn路漫漫的专栏