我有一个变量,其值在运行时填充。我想使用扩展方法检查该值是否介于两个不同的数据类型值(例如最低和最高)之间。
这两个值(最低和最高)可以是相同的数据类型(没问题)。然后就像
public static bool Between<T>(this T actual, T lower, T upper)
where T : IComparable<T>
{
return actual.CompareTo(lower) >= 0 && actual.CompareTo(upper) <= 0;
}
礼貌我之前提出的问题如何创建之间的扩展方法
但是,如果它们具有不同的数据类型但具有相同的基类怎么办。
说
我想检查一下
byte a = 2; //here static but is can be changed at runtime
if(a.Between(0,8.0))
DoSomething();
else
DoNothing();
在上面的代码片段中,我正在检查 int 值和 double 值之间的字节值。这种情况下怎么办。我想创建一个扩展方法,例如
public static bool Between<T1, T2, T3>(this T1 actual, T2 lowest, T3 highest)
where T1: ????
where T2: ????
where T3: ????
{
What code to write here????
}
对于上面的片段,我的 EM 应该返回true