首页 | 互联网 | IT动态 | IT培训 | Cisco | Windows | Linux | Java | .Net | Oracle | 软件测试 | C/C++ | 嵌入式开发 | 存储世界 | 服务器
网络设备 | IDC | 安全 | 求职招聘 | 数字网校 | 网页设计 | 技术专题 | 电子书下载 | 教学视频 | 网页设计 | 平面设计 | 搜索 | 博客 | 论坛
中国IT实验室Dotnet频道
中国IT教育
首页 ASP.NET  C#  XML/WebService ADO.NET VC.NET VB.NET .NET 资讯动态 专题 RSS订阅 讨论 下载
您现在的位置: 中国IT实验室 >> Dotnet >> C# >> 文章正文

展现C#世界之八:用C#写组件

文章来源ChinaItLab 作者佚名 更新时间2007-11-29 保存本文保存本文 推荐给好友推荐给好友 收藏本页收藏本页

  8.2.2 在客户应用程序中使用名字空间

  由于你使用了名字空间开发组件,所以客户也要引入名字空间

  using Presenting.CSharp;

  或者给名字空间中的成员使用完全资格名(fully qualified name),例如

  Presenting.CSharp.WhoisLookup.Query(……);

  如果你不期望在名字空间中引入的成员之间出现冲突,using 标志( directive)是首选,特别是由于你具有很少的类型时。使用组件的客户程序样本在清单8.4中给出。

  清单 8.4 测试 WhoisLookup 组件

  1: using System;

  2: using Presenting.CSharp;

  3:

  4: class TestWhois

  5: {

  6: public static void Main()

  7: {

  8: string strResult;

  9: bool bReturnValue;

  10:

  11: try

  12: {

  13: bReturnValue = WhoisLookup.Query("microsoft.com", out strResult);

  14: }

  15: catch (Exception e)

  16: {

  17: Console.WriteLine(e);

  18: return;

  19: }

  20: if (bReturnValue)

  21: Console.WriteLine(strResult);

  22: else

  23: Console.WriteLine("Could not obtain information from server.");

  24: }

  25: }

  第2行利用using 标志引入了Presenting.CSharp名字空间。现在,我无论什么时候引用WhoisLookup ,都可以忽略名字空间的完全资格名了。

  该程序对 microsoft.com 域进行一次Whois 查找——你也可以用自己的域名代替microsoft.com .允许命令行参数传递域名,可使客户的用途更广。清单8.5 实现了该功能,但它不能实现适当的异常处理(为了使程序更短)。

  清单 8.5 传递命令行参数给Query 方法

  1: using System;

  2: using Presenting.CSharp;

  3:

  4: class WhoisShort

  5: {

  6: public static void Main(string[] args)

  7: {

  8: string strResult;

  9: bool bReturnValue;

  10:

  11: bReturnValue = WhoisLookup.Query(args[0], out strResult);

  12:

  13: if (bReturnValue)

  14: Console.WriteLine(strResult);

  15: else

  16: Console.WriteLine("Lookup failed.");

  17: }

  18: }

  你所必须做的就是编译这个应用程序:

  csc /r:whois.dll whoisclnt.cs

上一页  [1] [2] [3] [4] [5] 下一页  

【责编:John】

中国IT教育

相关产品和培训
文章评论
 友情推荐链接
 认证培训
 社区讨论
 博客论点
 Dotnet频道相关导航