如何要求枚举作为强类型参数
本文关键字:类型参数 枚举 | 更新日期: 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。