首页 > 后端开发 > C++ > 如何在 C# 中向运行时属性添加验证属性?

如何在 C# 中向运行时属性添加验证属性?

Patricia Arquette
发布: 2025-01-03 15:58:39
原创
567 人浏览过

How to Add Validation Attributes to Runtime Properties in C#?

向运行时属性添加属性

在尝试在运行时向属性添加验证属性时,您遇到了一个异常,指出“集合是固定的尺寸。”要解决此问题,请考虑以下事项:

您提供的代码涉及调用 FillAttributes 方法。然而,这个特定的方法需要一个属性数组作为其参数,而不是单个属性。要纠正此问题,您应该修改代码以传递包含所需属性的数组:

// Create an array of attributes
var attributes = new ValidationAttribute[] { attribute };

// Invoke FillAttribute method
methodInfo.Invoke(propDesc, new object[] { attributes });
登录后复制

或者,您可以完全绕过 FillAttributes 方法,直接将属性分配给属性描述符:

// Assign attribute to property descriptor
propDesc.Attributes = new Attribute[] { new RequiredAttribute() };
登录后复制

根据具体场景和您的设计偏好,这些方法的组合应该允许您在运行时向属性添加属性,而不会遇到“Collection was固定大小”例外。

以上是如何在 C# 中向运行时属性添加验证属性?的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板