游戏开发论坛

 找回密码
 立即注册
搜索
查看: 3039|回复: 5

事件和代理的问题

[复制链接]

16

主题

57

帖子

61

积分

注册会员

Rank: 2

积分
61
发表于 2008-7-9 17:40:00 | 显示全部楼层 |阅读模式
事件实际上就是调用的函数指针。代理本身就是类型安全的函数指针了。那么出于什么目的,使用事件再把代理封装一次呢?

201

主题

1437

帖子

1963

积分

金牌会员

Rank: 6Rank: 6

积分
1963
QQ
发表于 2008-7-13 10:36:00 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

16

主题

57

帖子

61

积分

注册会员

Rank: 2

积分
61
 楼主| 发表于 2008-7-14 15:20:00 | 显示全部楼层

Re:事件和代理的问题

是的,事件可以看作函数指针列表。但是代理也可以看作函数指针列表。代理是从MultiCast派生出来的呀

16

主题

57

帖子

61

积分

注册会员

Rank: 2

积分
61
 楼主| 发表于 2008-7-15 15:05:00 | 显示全部楼层

Re:事件和代理的问题

这个区人真少,其实用xna开发游戏还是蛮好的,尤其是对个人玩票性质的或者因为兴趣而组建的小工作室。

19

主题

638

帖子

638

积分

高级会员

Rank: 4

积分
638
发表于 2008-7-23 17:01:00 | 显示全部楼层

Re: 事件和代理的问题

代理是包装的对象引用和其上的方法指针。
事件和属性类似,是用一对方法add_EventName() remove_EventName()包装代理成员,这样类的外部不能调用事件函数,也不能查询别的事件处理函数,提供良好的安全性和封装,并且IDE可以将其在属性编辑器里列出。

16

主题

57

帖子

61

积分

注册会员

Rank: 2

积分
61
 楼主| 发表于 2008-7-25 11:15:00 | 显示全部楼层

Re:事件和代理的问题

谢谢,似乎明白了一些。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-21 22:13

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表