C# 将SecureSocketOptions强制转换为整数以存储在数据库中
我正在尝试将SecureSocketOptions for MailKit保存在数据库中。我想因为它是一个枚举值,所以我可以将它存储为整数并从那里设置它,但我没有运气C# 将SecureSocketOptions强制转换为整数以存储在数据库中,c#,enums,mailkit,C#,Enums,Mailkit,我正在尝试将SecureSocketOptions for MailKit保存在数据库中。我想因为它是一个枚举值,所以我可以将它存储为整数并从那里设置它,但我没有运气 var sso = new SecureSocketOptions(); sso = emailSettings.SecureSocketOption; client.Connect(defaultEmailSetting.EmailServer, defaultEmailSetting.Em
var sso = new SecureSocketOptions();
sso = emailSettings.SecureSocketOption;
client.Connect(defaultEmailSetting.EmailServer, defaultEmailSetting.EmailPort, sso);
它表示无法将SecureSocketOptions强制转换为整数
我做错了吗?我只想将设置保存到emailsettings表中,以便于设置
我觉得我想得太多了。有什么建议吗
EDIT1
对于那些建议强制转换为int的人,当我尝试时会发生以下情况:
我没有代表对此发表评论,但您是否已直接投票
(int)sso
?如果没有,请尝试。您可以像示例一样执行此操作
int ssoValue = (int) SecureSocketOptions.Auto;
枚举具有以下所有值:
- None 0
- Auto 1
- SslOnConnect 2
- StartTls 3
- StartTlsWhenAvailable 4
因此,在这种情况下,ssoValue将返回1
int ssoVal = (int) sso;
我想得太多了
我将其转换为SecureSocketOptions,如下所示:
var sso= (SecureSocketOptions) emailSettings.SecureSocketOption;
谢谢大家的帮助 您的建议是错误的,您不能将“int”分配给声明为“SecureSocketOptions”的var,C#是静态类型的。