我从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.