如何要求枚举作为强类型参数

本文关键字:类型参数 枚举 | 更新日期: 2023-09-27 18:29:29

我可能完全错了,所以我愿意接受任何建议。我想做的是在这个中需要StatusType参数

Response(StatusType.Submit, message);

仅限于某一组类型,这些类型将返回一个常量字符串值。到目前为止,我已经想出了这个解决方案:

public class Response
{
    private StatusType _status;
    Response(StatusType status, string message)
    {
        _status = status;
    }
    public string Status
    {
        get
        {
            return Enum.GetName(typeof(StatusType), _status);
        }
    }
}
public enum StatusType
{
    Fail,
    Success,
    Response,
    Confirm
}

但我现在意识到enum参数是弱类型的,这将允许我输入字符串值。有人能帮我吗?我有一种感觉,枚举不是我的解决方案,但我不确定其他方法。

如何要求枚举作为强类型参数

根据注释,在VB项目中使用此类时会出现错误。

Option Strict关闭时,VB将尝试在"兼容"类型之间"有帮助地"转换对象。这通常会隐藏错误,并导致一些非常难以追踪的错误。我建议在Visual Basic中进行开发时始终打开"Option Strict";它将帮助您编写更好的代码。

您可以从项目属性中的Compile选项卡为整个项目启用Option Strict(推荐方式),也可以通过将Option Strict On添加到任何类定义之外的文件顶部来为单个文件启用Option Strict。

相关文章: