gpt4 book ai didi

c# - 我怎样才能制作一个采用多种枚举类型的方法,而不是我必须一直 Cast

转载 作者:太空宇宙 更新时间:2023-11-03 23:07:08 26 4
gpt4 key购买 nike

我有这些方法调用和更多以及这个方法:

    App.DB.UpdateSetting("TimeInterval", (int)Time.UserInput );
App.DB.UpdateSetting("ThemeColor", (int)Theme.Light );

public void UpdateSetting(string setting, int value, string text="" )
{
lock (locker)
{
db2.Execute("UPDATE Setting SET Value = ?, Text = ?" +
" WHERE SettingType = ?", value, text, setting);
}
}

我想做的是能够避免将所有这些设置键入 (int)。有什么办法可以做到这一点吗?

最佳答案

您可以使用 Enum 而不是 int。这允许您传递您喜欢的任何枚举值。您需要做的唯一更改是在您的方法中将枚举转换为 int:

public void UpdateSetting(string setting, Enum value, string text = "")
{
var intValue = Convert.ToInt32(value);

lock (locker)
{
db2.Execute("UPDATE Setting SET Value = ?, Text = ?" +
" WHERE SettingType = ?", intValue, text, setting);
}
}

现在你可以这样调用它:

App.DB.UpdateSetting("TimeInterval", Time.UserInput );
App.DB.UpdateSetting("ThemeColor", Theme.Light );

关于c# - 我怎样才能制作一个采用多种枚举类型的方法,而不是我必须一直 Cast,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40819913/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com