如何获取Search.Query上SupplyParameterFromQuery特性的Name属性值
获取SupplyParameterFromQuery特性的Name属性值
你可以通过反射读取应用在Search.Query属性上的SupplyParameterFromQuery特性的Name属性值,具体实现步骤如下:
- 获取
Search类中Query属性的PropertyInfo反射对象 - 从该属性中提取
SupplyParameterFromQueryAttribute特性实例 - 读取特性的
Name属性值
代码示例
using System.Reflection; // 根据实际命名空间引入SupplyParameterFromQueryAttribute,通常是Microsoft.AspNetCore.Mvc using Microsoft.AspNetCore.Mvc; // 获取目标属性的反射信息 PropertyInfo queryProperty = typeof(Search).GetProperty(nameof(Search.Query))!; // 获取属性上的SupplyParameterFromQuery特性实例 SupplyParameterFromQueryAttribute? queryAttribute = queryProperty.GetCustomAttribute<SupplyParameterFromQueryAttribute>(); // 读取Name属性值(添加空值判断避免空引用异常) string? attributeName = queryAttribute?.Name; // 示例输出 Console.WriteLine(attributeName); // 输出 "query"
关键点说明
- 使用
nameof(Search.Query)替代硬编码属性名,提升代码可维护性 GetCustomAttribute<T>会返回指定类型的特性实例,若属性未标记该特性则返回null,需做好空值处理- 确保已正确引入
SupplyParameterFromQueryAttribute所在的命名空间
内容的提问来源于stack exchange,提问作者David Thielen
相关产品推荐
相关产品推荐

