0

我正在制作一个人们可以用作登录系统的 DLL。
我做的功能现在应该这样编码:

SecureLogin.register.makeUser("Username", "Password", 2);

现在你必须使用 0 = plaintext 1 = Idk yet 2 = MD5
但为了更容易,我想用这样的东西替换数字 2 :

SecureLogin.HashMethod.MD5

我想让它看起来像这样:

SecureLogin.register.makeUser("Username", "Password", SecureLogin.HashMethod.MD5);

我该如何为此制定方法或功能?
如果我不清楚,请告诉我,我会更详细地描述。

4

1 回答 1

1

您可以使用枚举:

public enum HashMethod
{
    Plaintext,
    Ldk,
    MD5,
}

然后让您的方法将此枚举作为参数:

public void makeUser(string username, string password, HashMethod method)
{
    if (method == HashMethod.Plaintext)
    {
        ...
    }
    else if (method == HashMethod.Ldk)
    {
        ...
    }
    else if (method == HashMethod.MD5)
    {
        ...
    }
    else
    {
        throw new NotSupportedException("Unknown hash method");
    }
}

然后在调用该函数时,您可以传递枚举类型的相应值:

SecureLogin.register.makeUser("Username", "Password", SecureLogin.HashMethod.MD5);
于 2013-09-08T20:56:04.873 回答