You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取服务器上System.Net.SecurityProtocolType的可用枚举值列表?

解决System.Net.SecurityProtocolType枚举下拉列表绑定问题

VB.NET 解决方案

你之前的错误在于混淆了TypeOf和GetType()的用法:TypeOf是用来判断对象类型的运算符,而获取枚举的Type对象需要用GetType()方法。正确获取枚举值并绑定到下拉控件的代码示例如下:

' 获取SecurityProtocolType的所有枚举值
Dim securityProtocols As Array = System.Enum.GetValues(GetType(System.Net.SecurityProtocolType))

' 绑定到ComboBox(以WinForms为例)
ComboBox1.DataSource = securityProtocols

如果需要显示枚举的友好名称(对应字符串),可以结合Enum.GetNames:

Dim protocolNames As String() = System.Enum.GetNames(GetType(System.Net.SecurityProtocolType))
ComboBox1.Items.AddRange(protocolNames)

C# 解决方案

C#中使用typeof关键字获取枚举的Type对象,示例代码如下:

// 获取SecurityProtocolType的所有枚举值
Array securityProtocols = System.Enum.GetValues(typeof(System.Net.SecurityProtocolType));

// 绑定到ComboBox(WinForms示例)
comboBox1.DataSource = securityProtocols;

同样,若要获取枚举名称数组:

string[] protocolNames = System.Enum.GetNames(typeof(System.Net.SecurityProtocolType));
comboBox1.Items.AddRange(protocolNames);

错误原因说明

你之前的两种写法都不符合方法参数要求:

  • 直接传入System.Net.SecurityProtocolType:这是枚举类型本身,不是Type对象,不符合Enum.GetValues的参数要求
  • 使用TypeOf (System.Net.SecurityProtocolType):TypeOf在VB中只能用于对象的类型判断,不能直接获取类型对象,正确的类型获取方式是GetType()

内容的提问来源于stack exchange,提问作者MarkEMarkEMark

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 16:40:06