委托的理解 (抓小偷

‘'警察抓小偷()
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

路漫漫的专栏

 

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值