|   |      1 
                                  2
                             您可以在用户类上创建一个事件,并在第三个类中订阅它。 您可能需要查看inotifyPropertyChanged接口,以了解类似的事情是如何由其他人完成的。 http://msdn.microsoft.com/en-us/library/system.componentmodel.inotifypropertychanged(VS.96).aspx | 
|   |      2 
                                  1
                             我想你所说的有时候叫做事件代理类。它是一个类,当您不想在两个类之间有一个硬依赖关系时,它充当中介。 一般来说,我尽量避免在可以获得对触发对象的引用时使用它,但是有些合法的场景中,事件的使用者可能不知道可能触发它的所有实例。例如,我以前使用它的地方是,当数据有多个视图并且数据不在可以直接引用的单个域对象中时,提供全局数据刷新事件。  | 
|   |      3 
                                  1
                             你想要的模式似乎是 Mediator . 这个简单的例子给了你一个想法: 其他地方:  | 
|   |      4 
                                  0
                             您的用户类需要有一个事件,该事件是通过用户名更改触发的。无论哪个对象跟踪用户,都需要有一个订阅用户名更改事件的方法,并且可以创建一个新的邮件对象并发送必要的电子邮件。 要在用户类中创建事件,请执行以下操作: 在管理代码中,您将拥有一个处理事件的方法: 我认为你现在的邮件课程不会奏效。如果邮件是用来表示邮件消息的,那么它应该提供设置和发送邮件消息所需的所有方法和属性。但是,如果您只需要使用.NET框架的邮件系统发送电子邮件,那么mail可以是一个静态类,其中包含发送各种类型的预定义电子邮件的方法(不是最佳设计,但可以作为开始使用),包括sendUserInfoChangeMail()方法。可以由事件处理程序调用。 | 
|   |      5 
                                  0
                             在设计模式方面,请看 Observer Pattern | 
|   |      6 
                                  0
                             
 
   无论如何,我会改变
    然后,在任何你喜欢的地方,你的静态类或者其他什么,订阅这个事件,并在名称改变时发送电子邮件。 |