.NET 编程中的委托、事件与事件处理
1. 委托在目录遍历中的应用
在 .NET 编程里,委托是一项极为实用的工具。就拿目录遍历来说,使用 Directory.GetDirectories 方法虽然能获取指定目录下的所有子目录,但当返回的数组元素众多时,会耗费大量时间和内存,而且在处理过程中应用程序会阻塞,无法响应用户输入。
下面是一个简单的示例代码:
Sub TestListSubfolders()
Dim dirs() As String = Directory.GetDirectories( _
"C:\WINDOWS", "*.*", SearchOption.AllDirectories)
For Each dirName As String In dirs
' 对 ArrayList 中返回的元素进行操作
Console.WriteLine(dirName)
Next
End Sub
为了解决上述问题,可以使用委托来实现回调方法,从而在需要时中断枚举。以下是相关代码:
' 定义一个委托,指定可以传递给 TraverseDirectoryTree2 的函数语法
Delegate Function TraverseDirectoryTreeCallback2(ByVal dirName As String) As Boolean
Function TraverseDirectoryTree2(ByVal
超级会员免费看
订阅专栏 解锁全文
2776

被折叠的 条评论
为什么被折叠?



