Vb.net 以枚举作为类型的属性

Vb.net 以枚举作为类型的属性,vb.net,enums,Vb.net,Enums,在一个解决方案中,我注意到一个属性的类型为enum: Public Enum ContentType HTML = 1 JSON = 2 XML = 3 End Enum Public Property ContentID() As ContentType Get Return _contentID End Get Set(ByVal value As ContentType) _contentID= value End Set End Prope

在一个解决方案中,我注意到一个属性的类型为enum:

Public Enum ContentType
  HTML = 1
  JSON = 2
  XML  = 3
End Enum

Public Property ContentID() As ContentType
  Get
    Return _contentID
  End Get
  Set(ByVal value As ContentType)
    _contentID= value
  End Set
End Property
奇怪的是,这些枚举反映了表中的主键,我遇到了一个问题,因为客户端有不同的主键,这导致无法输入select语句

其他一切似乎都在起作用,这让我思考。我的问题是,如果我试图将值设置为枚举中不包含的值,该属性是否会引发错误?因为正如我所说,这肯定会发生,我没有看到任何错误抛出或我错过了什么

如果我试图将值设置为枚举中不包含的值,该属性是否会引发错误

不会的。枚举由整数类型(Integer、Long等)支持,变量将接受其基础类型的任何有效值

在尝试使用该值之前,可以使用该方法检查该值:

返回指定枚举中是否存在具有指定值的常量的指示


谢谢你,我就是这么想的。当我将鼠标悬停在类型上时,线索出现在“enum as integer”(枚举为整数)中,但对于用户名后面有这么多数字的人来说,帮我确认一下是件好事@DavidB-不要假设这些数字对您的情况有意义(检查它们来自哪里-可能来自PHP或SQL,而不是VB.NET…)