回答
活动其实都是准备食用,非常简单的说,声明的事件实际上是定义基础委托一个getter/setter和因此没有必要定义明确的getter/setter。
如果你想要做某种自定义处理的连接/处理该事件的分离,那么你可以看看下面的MSDN文档
谢谢你看看他们:也许这就是我需要的。每次设置此成员时,我都想调用另一个方法。 – user310291 2011-04-23 16:38:06
虽然看不到如何http://stackoverflow.com/questions/5765515/how-to-call-a-method-when-adding-an-event-in-c-using-custom-event-accessors – user310291 2011-04-23 16:45:54
@ user310291,我为你引用的新问题添加了一个答案。 – 2011-04-23 17:20:37
使用委托类型声明事件 - 只需使您的属性成为委托类型即可。
从MSDN:
在.NET Framework类库中,事件是基于EventHandler委托和EventArgs的基类。
public EventHandler MyEvent {get; set;}
每次设置此成员时,我都想调用另一个方法。如果我使用这种语法,我不能。 – user310291 2011-04-23 16:38:33
你可以实现custom event accessors。
例子:
public delegate int DoSomething();
private event DoSomething _somethingHappened;
public event DoSomething SomethingHappened
{
add { _somethingHappened += value; }
remove { _somethingHappened -= value; }
}
- 1. 消费封装成员事件
- 2. 提供事件封装C#?
- 3. C++成员类型
- 4. 如何将泛型组合的概念封装成新类型?
- 5. 成员名称不能与它们的封闭类型C#
- 6. 如何在C#中模拟类成员?
- 7. 将类型作为枚举类型的C-API封装在C++中
- 8. c#是否密封所有重写成员的类封印?
- 9. 如何在C#中获得动态类型数组的成员?
- 10. 在C#中如何实现SIP封装
- 11. 密封类中的受保护成员
- 12. CAST到封装类型
- 13. 基于其他成员类型的条件成员类型
- 14. 封闭类的C#类型
- 15. 如何在WinRT类中装饰事件?
- 16. 如何将C API封装到RAII C++类中?
- 17. 在DLL中封装C#GUI组件
- 18. C++类包装/成员对齐
- 19. 在类中使用泛型类成员
- 20. 封装在目标c中
- 21. 私人类成员没有完全封装?
- 22. 得到的封闭型[枚举成员?]
- 23. C++模板类继承,如何向成员类型指定?
- 24. 在类中封装AppSettings?
- 25. C++类成员
- 26. 非模板类中的任何类型的C++成员变量
- 27. 组合类中的封装C++
- 28. 封装刷的一种特定类型绘制在Objective-C
- 29. 如何使用SWIG生成C++ API的C封装?
- 30. 为什么C#成员名称不能与封闭类型名称相同?
你的意思是委托类型? – Oded 2011-04-23 16:14:55
是的,但这是一个事件 – user310291 2011-04-23 16:39:25
请阅读Jon Skeet对此的评论:http://csharpindepth.com/Articles/Chapter2/Events.aspx。特别要注意线程安全部分。 – 2011-04-23 17:12:20