《在C#中调用API获取网络信息和流量》读后感

来源:互联网 发布:成都伊藤网络超市 编辑:程序博客网 时间:2024/05/20 20:48

http://blog.csdn.net/lc_mtt/archive/2007/04/11/1559886.aspx

 

乍一看,文章中的类定义相对于文章想要实现的功能来说,有点多余,也许作者是想做一个泛型,以便以后来更好的扩展吧。

文章要实现的功能,最重要的一点就是 GetIfTable 这个函数,但是根据网络上VC的例子来看,GetIfTable的第一个参数没有办法强制转换成 MIB_IFTABLE 这个类,所以之前所说的文章中多余的类其实是为了解析,并不多余。

CustomMarshaler 类,作为一个重要的解析类存在。它是MIB_IFTABLE和MIB_IFROW的父类。

CustomMarshaler类中的ReadFromStream方法,总的来说,对于这个工程,写的比较成功,因为解析的内容都使用了递归方法去完成了。但是有一点我比较在意的是,MIB_IFTABLE类的成员的定义顺序,如果将dwNumEntries与Table两个成员变换一下定义的先后顺序,那么最终导致的将是ReadFromStream方法解析的时候,解析出来的结果完全是错误的。

文章中巧妙的使用了Attribute,这一点我需要好好的学习。

如果有人对于这篇文章的诸多繁琐的类的定义觉得无可奈何,那么不妨找找VC的例子先看看,这样有助于里面,为什么文章中的类要定义那么多,并且定义的那么复杂了。

 

总的来说,这篇文章,作者花了不少心思,很好很强大!

原创粉丝点击