在创建用户的类中添加一个事件。主要用于事件的监听,比如一个用户创建成功后就可以利用如下方式实现自定义事件
1. 定义一个委托(注意命名规范)
/// <summary>
/// 用户创建成功后的事件处理
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
public delegate void UserCreatedEventHandler(object sender, UserCreatedArgs e);
2. 定义一个事件参数类
/// <summary>
///
/// </summary>
public class UserCreatedArgs : EventArgs
{
private UserEntry user;
public UserEntry User
{
get { return user; }
set { user = value; }
}
public UserCreatedArgs(UserEntry user)
{
this.User = user;
}
}
3. 在用户创建的类中实例化UserCreatedEventHandler
public event UserCreatedEventHandler UserCreated;
4. 在类中触发事件
a. 方法一:
/// <summary>
/// 用户创建成功后触发的事件
/// </summary>
/// <param name="e">用户创建事件的自定义事件参数</param>
protected virtual void OnUserCreated(UserCreatedArgs e)
{
UserCreatedEventHandler handler = UserCreated;
if (handler != null)
{
UserCreated(this, e);
}
}
然后在创建用户的方法中调用:
OnUserCreated(new UserCreatedArgs(entry));
b. 方法二:
protected virtual void OnUserCreated(UserCreatedArgs e)
{
UserCreatedEventHandler handler = UserCreated;
if (handler != null)
{
UserCreated(this, e);
}
}
/// <summary>
/// 在类中触发事件
/// </summary>
/// <param name="e">创建的用户</param>
protected void OnUserCreated(UserEntry user)
{
OnUserCreated(new UserCreatedArgs(user));
}
然后调用:
OnUserCreated(entry);
5. 在该类外(cuw是该类的实例)
cuw.UserCreated += new UserCreatedEventHandler(cuw_UserCreated);
void cuw_UserCreated(object sender, UserCreatedArgs e)
{
///此处添加具体的处理代码
}