如何按值比较 System.Object 类型的两个值?
如何按值比较 System.Object 类型的两个值?
如何执行以下操作:
void Validate(Type t, Object obj)//t is always a Basic type like System.Int32, System.DateTime, System.String, etc.
{
Object value = Convert.ChangeType(obj, t);
Object minValue = Convert.ChangeType(this.MinValue.Value, t);
Object maxValue = Convert.ChangeType(this.MaxValue.Value, t);
if (!(minValue >= value && value >= maxValue))
{
throw new Exception(".....err...message.....");
}
}
How to compare two values of type System.Object by value?
How to do the following:
void Validate(Type t, Object obj)//t is always a Basic type like System.Int32, System.DateTime, System.String, etc.
{
Object value = Convert.ChangeType(obj, t);
Object minValue = Convert.ChangeType(this.MinValue.Value, t);
Object maxValue = Convert.ChangeType(this.MaxValue.Value, t);
if (!(minValue >= value && value >= maxValue))
{
throw new Exception(".....err...message.....");
}
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
Int32
等基本值类型实现IComparable
:
Basic value types like
Int32
implementIComparable
:System.Object
因为没有可以比较的属性值。当然,您可以检查每个对象都有的函数返回的值。System.Object
as got no propertiese whoes values you can compare. surely enuf you can check the values that are returned by the function every object has.您可以利用这样一个事实:您列出的所有类型都实现了 IComparable 接口。
You could use the fact that the types you have listed all implement the IComparable interface.
使用动态代替 object/var ...
Instead of object/var use dynamic ...