
This is the Title of the Book, eMatter Edition
Copyright © 2007 O’Reilly & Associates, Inc. All rights reserved.
510
|
Chapter 9: Delegates, Events, and Anonymous Methods
Discussion
The code for the modified DirectoryInfoNotify class contains a new event called
BeforeCreate, which is raised from the OnBeforeCreate method. The OnBeforeCreate
method is initially called by the Create method immediately before calling the Create
method of the wrapped DirectoryInfo object. This setup allows the event listener for
the
BeforeCreate event to decide whether the directory creation operation should be
canceled.
{
if (!e.Cancel)
{
if (!((DirectoryInfoNotify)sender).Root.FullName.Equals(@"d:\"))
{
e.Cancel = true;
}
else
{
Console.WriteLine(
"Notified BEFORE creation of directory--sender: " +
((DirectoryInfoNotify)sender).FullName);
}
}
}
public void AfterCreateListener(object sender, EventArgs e)
{
Console.WriteLine("Notified after creation of directory--sender: " +
((DirectoryInfoNotify)sender).FullName);
}
public void AfterCreateSubDirListener(object sender, EventArgs e)
{
Console.WriteLine("Notified after creation of SUB-directory--sender: " +
((DirectoryInfoNotify)sender).FullName);
}
public void AfterMoveToListener(object sender, EventArgs e)
{
Console.WriteLine("Notified of directory move--sender: " +
((DirectoryInfoNotify)sender).FullName);
}
public void AfterDeleteListener(object sender, EventArgs ...