c# - 如何获取和设置 Range 属性的最小值和最大值?
问题描述
[Range(-3, 3)]
public float range;
我希望稍后在代码中执行以下操作:
range.min = 2
range.max = 20;
或者得到
int min = range.min;
int max = range.max;
解决方案
您不能在运行时更改属性的状态,但可以使用反射读取它:
class YourClass
{
[Range(-3, 3)]
public float range;
}
var range = typeof(YourClass)
.GetField(nameof(YourClass.range))
.GetCustomAttribute<RangeAttribute>();
float min = range.min;
float max = range.max;
推荐阅读
- r - R Markdown 不会编织;解析尝试使用零长度变量名时出错
- chatbot - 在技能选择 botpress 期间禁用用户输入
- javascript - 如何仅对水平和垂直进行框过渡?
- c# - 如何将 SQL 查询转换为 LINQ
- tensorflow - TensorFlow 上的高级测试和训练时间数据增强
- xmlhttprequest - 如何仅在需要升级时将静态 json 文件上传到 indexedDB(即 onupgradeneeded)
- javascript - 任何可以解析由 Intl.DateTimeFormat 创建的字符串的 javascript 库?
- angular - Ionic 5 - ngfor 不在组件上显示
- ios - 如何在 SwitfUI 中制作简单的上下浮动动画?
- c++ - is_const<> 的调用版本,但用于变量而不是类型,在一行中