java - 借助枚举 VB.NET 获取设置

标签 java .net vb.net enums

我正在将 Java 程序转换为 vb.net,其中应用程序中的设置由枚举控制。

    private enum SmsTagRule {
    //      KEYWORD   DOMAIN    BusinessClass  PREFIX  SEARCHNAME   SEARCHPARAM  SENDEMAIL  KEYWORDS...
    BAG_TAG("BagTag", "BagTag", "FoundBagTag", "b", "SearchBagTag", "490_TagNumber", true, "BagTag"),
    SKI_TAG("SkiTag", "SkiTag", "FoundSkiTag", "a", "SearchSki", "518_LabelNo", false, "SkiTag", "ski"),
    PC_TAG("PcTag", "ds", "FoundPC", "", "SearchPcTag", "585_LabelNo", false, "pc");

根据所选不同设置中的女巫“标签”的返回情况。有没有办法在 vb.NET 中做到这一点?我曾考虑过为这些标签中的每一个创建一个枚举,但看起来它应该是一个更好的解决方案。 有什么想法吗?

最佳答案

继续创建代表您的设置的自定义类型:

Class TagRule

    Public Shared BAG = new TagRule("BagTag", "BagTag", "FoundBagTag", ...)
    Public Shared Ski = new TagRule("SkiTag", "SkiTag", "FoundSkiTag", ...)
    ...

    Dim _keyword As String
    Public Property Keyword as String
        Public Get
            return _keyword         
        End 
        Private Set
            _keyword = value
        End
    End Property

    ...

    Private Sub New(keyword as String, domain as String, businessclass as String, ...)
        _keyword = keyword
        _domain = domain
        ....
    End Sub

End Class

你可以这样使用它:

Dim setting As TagRule = Nothing

If somecondition Then
    setting = TagRule.Ski
Else
    setting = TagRule.BAG
End If

Dim keyword = setting.Keyword
Dim domain = setting.Domain

关于java - 借助枚举 VB.NET 获取设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11971259/

相关文章:

java - 如何使用ResetAbandonedTimer避免由于removeAbandonedTimeout而关闭连接

c# - 如何防止在 .NET 中智能加载 DLL?

asp.net - 如何使用 iTextSharp?

vb.net - 通过 vb.net 应用程序登录 Facebook

c# - 在运行时更改按钮名称和事件处理

java-哪种方式易于实现且安全,用于 Web 应用程序/Web 服务中的最终用户身份验证

java - java执行器的默认执行策略

.net - 将 NLog 与多个应用程序实例一起使用

.net - .NET 中是否有一组适用于 FFMpeg、libavutil、libavformat 和 libavcodec 的有效 P/Invoke 声明?

java - ArrayAdapter 构建 ArrayList 时未正确处理单击事件