我从excel读取数据,并确定要执行哪个事件。

事件都是由我自己创建的类(登录和注销)

如果我读取的值= 1,则执行登录

如果我读取的值= 2,则执行注销

我使用switch,但是老板说我必须使用Java中的hashmap之类的东西。

在Java中,我可以编写如下代码:

table.Add(“ one”,login.class);

那么如何使用C#将类添加到哈希表中呢?

以及如何读取值并在哈希表中调用类方法?

最佳答案

以下代码允许您在对象中实现DoSomething方法,可从Dictionary索引调用该方法:

public interface ICallable
{
    void Execute();
}

public class Login : ICallable
{
    // Implement ICallable.Execute method
    public void Execute()
    {
        // Do something related to Login.
    }
}

public class Logout : ICallable
{
    // Implement ICallable.Execute method
    public void Execute()
    {
        // Do something related to Logout
    }
}

public class AD
{
    Dictionary<string, ICallable> Actions = new Dictionary<int, ICallable>
    {
        { "Login", new Login() }
        { "Logout", new Logout() }
    }

    public void Do(string command)
    {
        Actions[command].Execute();
    }
}


用法示例

AD.Do("Login"); // Calls `Execute()` method in `Login` instance.

08-27 22:15