1
A
回答
3
这将很好地完成模式。如果将Label对象的创建包装到LabelFactory中,那么标签工厂也可以公开每次创建对象时触发的事件。
事情是这样的:
public class LabelFactory
{
public Label GetLabel() {...}
public event LabelEventHandler LabelCreated;
}
1
不是没有修改对象的问题火在其构造的事件。
@阿德里安的解决方案是一个很好的折衷,只要你总是通过工厂去获得一个新的实例;但是,如果您在工厂外实例化,则不会触发任何事件。
相关问题
- 1. 使用C#注册表创建对象#
- 2. Windsor和委托对象创建/注册
- 3. Javascript注册事件到对象
- 4. 注册的所有对象的创建活动在JAXB
- 5. 创建注册码
- 6. 创建注册表
- 7. 使用工厂创建的注册和绑定对象
- 8. 我如何在CUDA的注册中创建对象?
- 9. 如何从已注册的事件发送JavaScript对象?
- 10. EclipseLink Profiler显示多个注册对象正在创建
- 11. Django身份验证:用户在注册前创建对象
- 12. 使用宏自动注册对象创建者函数
- 13. 未注册的Plivo事件
- 14. 手动创建JavaScript事件对象
- 15. 取消注册所有自定义对象事件
- 16. 如何为SENS事件注册接收对象
- 17. JavaFX Circle对象未正确注册鼠标事件
- 18. 注册MouseMove:事件对象始终未定义
- 19. 创建贝宝自定义事件注册表格
- 20. asp.net向导控件创建注册
- 21. 注册自动化对象
- 22. Unity.mvc5 - 注册会话对象
- 23. 创建jquery 3步注册
- 24. 只注册一次事件
- 25. 当launchd将注册事件?
- 26. 让Vue注册datepicker事件
- 27. 注册GWT DOM事件
- 28. 春对象的创建和@autowiring注释
- 29. Asp.net 5使用注册服务/组件构建对象
- 30. 注册模式和注册的对象的延迟实例
+1比我的更好的解决方案。 – Tejs 2011-03-23 12:06:56
工厂是一个很好的解决方案,但不是在Windows Forms Disigner创建标签的情况下 – 2011-03-23 12:20:20
您可以将标签创建移动到您自己的代码中吗?在功能上,它应该是相同的在你的代码中创建它,你可以使用Factory方法。 – Thomas 2011-05-23 19:30:26