c# - 如何观察不同类别的整数
问题描述
我有一个名为游戏的类,游戏有一个玩家列表(我无权访问 Player 类!)。每个玩家都有一个整数,代表他剩下的生命点数,如下所示
class Player
{
public int Life;
....
}
每次玩家的生活发生变化时,我都需要提醒游戏类,游戏类看起来像这样
class Game
{
public void OnPlayerLifeChange();
....
}
我想OnPlayerLifeChange
在会员更改时激活该功能Life
,我该怎么做?再次注意,我无法更改 Player 类并使生活成为具有事件的属性。
解决方案
一种常见的方法是在 Player 类中实现 INotifyPropertyChanged 接口,将 Life 从字段更改为属性,并从 setter 引发 PropertyChanged 事件。
class Player : INotofyPropertyChanged
{
private int _life;
public int Life
{
get { return _life; }
set { _life = value; OnPropertyChanged("Life"); }
}
....
}
然后游戏可以订阅所有玩家的 PropertyChanged 事件并做出相应的反应。
推荐阅读
- c# - 错误 1001 OnAfterInstall --> 找不到指定的文件
- forms - 键盘隐藏了我的 textformfield 飞镖颤振有什么解决方案吗,它尝试了很多都没有用
- java - 无法让 Eclipse 自动为 jsonschema2pojo 生成源
- java - 如何将字符串转换为 URI
- oracle - 使用 Informatica 10.4 时出现重复索引错误
- rapidjson - 删除快速 JSON 嵌套对象的成员
- python - 创建输入指定的类
- amazon-web-services - 使用存储桶策略的 AWS S3 IAM 访问
- python - 当列值不同时,熊猫数据框左连接返回 NaN
- sql - 对此的正确查询是什么?