您的位置:逆风者 VB 正文
原作者:www.upwinder.com 添加时间:2007-09-01 原文发表:2007-08-31 人气:5 来源:未知

本文章共4614字,分3页,当前第1页,快速翻页:
 
摘要:概述了 My 功能如何公开 .NET Framework 功能,包括可用的类、动态生成的类以及线程处理。

注:本文和示例代码均基于 Microsoft Visual Studio 2005(此前代号为“Whidbey”)的预发布版。文中包含的所有信息均有可能变更。示例项目需要 Visual Studio 2005 Beta1 或更高版本。

逆@风@者

简介

My 是 Visual Basic 2005 中的一项新功能,它可将常用功能放在您触手可及的地方,并减少了您必须编写的代码行数。它以有效、可靠且线程安全的方式实现这一目的。在程序员工作效率显得尤为重要的环境中,My 可以帮助您更快地完成工作,这就是 Visual Basic 的精髓所在。

本文旨在探究如何使用 My 来访问 .NET Framework 功能以及您项目中的项。

可从 My 中获得的 .NET Framework 类

由于 .NET Framework 涉及的内容很多,因此要找到您所需的功能非常困难。为了解决此问题,My 提供了常用 .NET Framework 类和功能的入口点。My 还公开了新的高级别 .NET Framework 类,这些类可将相关的功能汇集到基于任务的 API 中。

My 公开功能的方式包括:返回已实例化并可以使用的 .NET Framework 类,延推迟对 .NET Framework 方法的调用,以及返回动态生成的类(使用该类可访问您项目中的项)。

直接公开

只要可能,My 便会作为一种发现机制为 .NET Framework 中的现有类提供服务,并直接公开这些类型。请参见以下 My.Application.Deployment 示例:

Public ReadOnly Property Deployment() As _
System.Deployment.ApplicationDeployment
Get
Return _
System.Deployment.ApplicationDeployment.CurrentDeployment
End Get
End Property

直接公开的其他示例包括 My.Computer.FileSystem.OpenTextFileReader()(它返回 System.IO.StreamReader)、My.Application.OpenForms()(它返回 System.Windows.Forms.FormsCollection)、My.User(它返回 System.Security.Principal.IPrincipal),等等。

外观

My 还可以返回能够提供基于任务的 API 的新类,以用于执行先前难以执行的操作,因为在以前找到功能很困难,并且/或者需要多个对象协同完成。

需要使用低级别 .NET Framework API 或者需要多行代码的常见任务得以大大简化。请参见以下确定网络连接是否可用的任务示例:

Imports System.Net.NetworkInformation
Public ReadOnly Property IsAvailable() As Boolean
Get
For Each NetInterface As NetworkInterface In _
NetworkInterface.GetAllNetworkInterfaces()
If NetInterface.Type <> InterfaceType.Loopback _
AndAlso NetInterface.Type <> InterfaceType.Tunnel _
AndAlso NetInterface.OperationalStatus = _
OperationalStatus.Up Then
Return True
End If
Next
Return False
End Get
End Property

上面的代码需要 System.Net.NetworkInformation 命名空间中几个类型的详细知识。使用外观模式,My.Computer.Network 可将这些类型及其关系简化为一行代码:My.Computer.Network.IsAvailable()。

外观还可以将用其他方式难以找到的相关功能简单地汇集在一起。例如,My.Computer 可将不同类的属性汇集起来,以提供计算机名以及对屏幕的访问:

Public ReadOnly Property Name() As String
Get
Return System.Environment.MachineName
End Get
End Property
Public ReadOnly Property Screen() As System.Windows.Forms.Screen
Get
Return System.Windows.Forms.Screen.PrimaryScreen
End Get
End Property

在 My 中,可从多个 .NET Framework 类型中汇集相关功能的类的其他示例包括 My.Application、My.Computer、My.Computer.FileSystem、My.Computer.Info 以及 My.Application.Info。

Proxy 类

proxy 类是一个非常“瘦”的类,可将对它的所有调用转发到基础对象中。例如,如果您调用 My.Computer.Clipboard.GetText(),则实际上是在调用 proxy 类方法 ClipboardProxy.GetText(),定义如下:
 

本文章更多内容1 - 2 - 3 - 下一页>>
相关文章

用VB制作文件下载程序
在VB5.0中制作多媒体界面
VB中播放WAV文件
VB数据库数据的选项录入及选项增减与编辑
VB 神童教程第四章第三节——动态增减菜单
VB多媒体程序设计
Visual Basic设计多媒体应用程序
利用VB设计打印复杂报表
怎样用VB写多线程
开发ADOCE搭配WinCE资料存取应用程序(1)
VB VC混合编程疑难问题解
一个封装了WinInet API函数的类(CWinInetC
用Winsock实现点对点通信
VB的API编程精粹
VB的显示/隐藏Start按钮
Visual Basic通信程序设计
VB 神童教程第二章第十二节——综合示例五
Visual Basic编程访问WMI对象
VB 神童教程第三章第二节——综合示例六
再谈VB程序的加密

相关评论


本文章所属分类:首页 VB

  热门关键字: