我正在尝试编写通用的相等比较器。我已经写了以下代码。
public static bool Equals<T>(T t1, T t2)
{
bool result;
if (typeof(T).IsPrimitive)
{
result = t1 == t2;
}
else
{
if (t1 == null)
{
result = t2 == null;
}
else
{
result = t1.Equals(t2);
}
}
return result;
}
但是由于行Operator '==' cannot be applied to operands of type 'T' and 'T'
的编译错误result = t1 == t2;
,我无法使用此代码。有没有其他方法来实现这一目标?我希望能够在任何T (class, struct, primitive)
此问题与this question不重复。正如我在评论中所写,我不必使用==
。这只是我试过的方法之一