C#hashtable添加我自己创建的类

Edi*_*son 1 c# hash foreach hashtable hashmap

我从excel读取数据并确定我要执行的事件.

event既是我自己创建的类(登录和注销)

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

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

我使用switch但我的老板说我必须在Java中使用类似hashmap的东西.

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

table.Add("one",login.class);

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

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

Ry-*_*Ry- 5

你可以使用代表.例如,如果您有这些方法:

public void Login() {
    // ...
}

public void Logout() {
    // ...
}
Run Code Online (Sandbox Code Playgroud)

你可以用这个Dictionary:

Dictionary<string, Action> actions = new Dictionary<string, Action>() {
    {"Login", Login},
    {"Logout", Logout}
};
Run Code Online (Sandbox Code Playgroud)

然后称之为:

actions[myAction]();
Run Code Online (Sandbox Code Playgroud)

当然,您需要确保密钥存在.您可以像调用常规方法一样调用代理.如果他们有参数或返回值,只需使用适当的Action<T1, T2...>Func<T1, T2... TOut>.