C# 将SecureSocketOptions强制转换为整数以存储在数据库中

C# 将SecureSocketOptions强制转换为整数以存储在数据库中,c#,enums,mailkit,C#,Enums,Mailkit,我正在尝试将SecureSocketOptions for MailKit保存在数据库中。我想因为它是一个枚举值,所以我可以将它存储为整数并从那里设置它,但我没有运气 var sso = new SecureSocketOptions(); sso = emailSettings.SecureSocketOption; client.Connect(defaultEmailSetting.EmailServer, defaultEmailSetting.Em

我正在尝试将SecureSocketOptions for MailKit保存在数据库中。我想因为它是一个枚举值,所以我可以将它存储为整数并从那里设置它,但我没有运气

      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#是静态类型的。