作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我可能会完全错误地处理这件事,所以我愿意接受任何和所有的建议。我想要做的是在这需要 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
}
但我现在意识到枚举参数是弱类型的,将允许我输入一个字符串值。谁能帮我?我感觉枚举不是我的解决方案,但我不确定是否有其他方法。
最佳答案
根据评论,您在 VB 项目中使用此类时遇到错误。
当 Option Strict
关闭时,VB 将尝试“帮助”在“兼容”类型之间转换对象。这通常会隐藏错误并导致一些非常难以追踪的错误。我建议在 Visual Basic 中开发时始终打开“Option Strict”;它将帮助您编写更好的代码。
您可以从项目属性中的Compile
选项卡为整个项目启用Option Strict(推荐方式),或者为单个文件添加Option Strict On
任何类定义之外的文件顶部。
关于c# - 我如何要求枚举作为强类型参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34664579/
我是一名优秀的程序员,十分优秀!