在C#中使用String枚举的正确方法

时间:2016-11-22 10:57:23

标签: c# xml

假设我有一个包含一组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个这样的,我需要知道我是否正在以正确的方式进行,特别是因为我无法调试我的代码,因为关于接收命令的部分其他人正在实施消息队列。

0 个答案:

没有答案