假设我有一个包含一组XML文件的目录(例如,两个名为ReadMacAddress.xml和ReadManufacturerId.xml的文件),我需要以特殊方式处理每个文件。基本上,这些XML文件中的每一个都是我的类正在接收的一组命令。 假设我有一个外部类,它给出了应该打开哪个文件的命令,
public static void test()
{
string RecievedCommand = "ReadMacAddress"; //Command recieved from a queue
string baseDirectory = AppDomain.CurrentDomain.BaseDirectory;
string xml = File.ReadAllText(baseDirectory + "ReadMacAddress.xml");
}
为了有可能根据收到的命令自动打开文件我正在考虑执行以下操作,首先使用文件名定义枚举数据结构,然后使用switch case来区分不同的命令(需要解析的文件的名称),然后在解析文件时使用它。
class My_EnumXML
{
public enum ReadXML
{
ReadMacAddress,
ReadManufacturerId,
}
}
class TestRead
{
public static void OpenFile()
{
string RecievedCommand = "ReadMacAddress";
string CurrentCommand = SMLReadInputs((My_EnumXML.ReadXML)RecievedCommand);
string xml = File.ReadAllText(baseDirectory + CurrentCommand);
}
public string SMLReadInputs(My_EnumXML.ReadXML pRecievedCommand)
{
string CurrentCommand = "";
switch (pRecievedCommand)
{
case My_EnumXML.ReadXML.ReadMacAddress:
CurrentCommand = Enum.GetName(typeof(My_EnumXML.ReadXML), 0);
case My_EnumXML.ReadXML.ReadMacAddress:
CurrentCommand = Enum.GetName(typeof(My_EnumXML.ReadXML), 0);
}
return CurrentCommand;
}
}
对于这个例子,我只使用了两个XML文件的名称,但我有100个这样的,我需要知道我是否正在以正确的方式进行,特别是因为我无法调试我的代码,因为关于接收命令的部分其他人正在实施消息队列。