C#笔记 利用XML文件构建反射表机制

      在设计程序时,无论是界面或是后台代码,我们通常都想留给用户一个较为简单的接口。而我在参与封装语音卡开发函数包的时候,发现各种语音卡的底层函数的接口都是各种整形变量标记值,使用起来极为不变。于是就理解了前辈所写的代码中,利用XML构建反射表机制的初衷。下面我就以某一种语音卡所能兼容的语音格式为例,将反射表机制的原理做个示范。

      语音卡的底层开发函数中,放音和录音函数的参数都是很多而且不易理解和记忆的。以语音格式为例,假如a率的标记值是6,u率的标记值是7,……,一般所能兼容的语音格式为10多个。如果我们选用整形变量来做标记语音格式的参数,那么我们大概就有两种选择:1.要么我们把这种对应关系生记下来,2.要么我们在调用函数时去查一下对照表,而这两种方式,都需要做不必要的投入。

      这时反射表的优势就表现出来了,下面看看例子:

//先做一个语音格式的枚举,方便用户调用:

Code

//这是一个语音格式类,用于填充语音格式对照表

Code

//编写一个方法,用来演示语音格式对照表的使用,具体使用方法类似但要视情况而定

Code

//最后贴出测试用的Main函数

Code

//最后给出测试用的XML文件:

Code

 //输出结果:

用户选定项:a率;该选项的配置值为:6

      这种处理方法,可以在许多方面得到应用。例如在语音卡的事件处理过程中,诸如外拨事件、放音事件及录音事件等操作,在这种过程性的事件响应中,都需要利用反射机制将通道状态来输出。

      

原文地址:https://www.cnblogs.com/gb2013/p/1588375.html