c# - MaxLength 不会触发智能感知,并在运行时忽略具有无效长度的值
问题描述
我有以下课程和测试表格:
class MyTestClass
{
[MaxLength(1)]
public string TestString { get; set; }
}
private void TestForm_Load(object sender, EventArgs e)
{
MyTestClass test = new MyTestClass();
test.TestString = "12345";´
}
如图所示,我将 MaxLength 属性设置为 1,并为其分配了一个 5 字符的字符串。然而我的代码编译。当我运行项目时,它也不会抛出异常。
- 为什么它根本不起作用?我在 C# .Net 4.6.1,WinForm 项目中构建它。
- 我希望它在智能感知期间产生错误。像过时的属性。([Obsolete("This function is deprecated", true)] 阻止构建代码。)我该怎么做?
解决方案
问题是,属性仅适用于 MVC 和 EntityFramework。它们并非旨在在 VS 的错误列表中创建元素。
第二个问题仍然存在,但是很明显它无关紧要,我将其标记为答案。
推荐阅读
- asp.net - 将 JSON 对象传递给 GET 方法 - ASP.Net ApiController
- c++ - 在存储/内存中查找特定程序的基地址?
- c - 我该如何做这个循环?
- python - 如何将键绑定到只有一个笔记本选项卡
- html - Img-fluid 不会在 Bootstrap 4 中调整图像大小
- sql - 基于计算列过滤 CTE 的结果集
- visual-studio-code - vscode 是否在 webview 和扩展之间缓冲已发布的消息?
- python - 具有多进程的python zerorpc客户端将日志发送到服务器
- sql - Rails 或 SQL 查询以获取用户关联数据
- sql - 使用 Oracle SQL 生成随机 html 十六进制颜色