小编use*_*810的帖子

C#泛型类操作符不起作用

我有泛型问题.当我尝试在通用中使用较少的运算符时,他们的调用不会发生.但它适用于Equals方法.这是一个测试类:

public class Test
{
    public int i;

    static public Boolean operator ==(Test obj1, Test obj2)
    {
        Console.WriteLine("operator ==");
        return obj1.i == obj2.i;
    }

    static public Boolean operator !=(Test obj1, Test obj2)
    {
        Console.WriteLine("operator !=");
        return obj1.i != obj2.i;
    }

    public override bool Equals(object obj)
    {
        Console.WriteLine("operator equals");
        return this == (Test)obj;
    }

    public override int GetHashCode()
    {
        Console.WriteLine("HashCode");
        return 5;
    }
}
Run Code Online (Sandbox Code Playgroud)

和班级检查员:

public class Checker
{
    public Boolean TestGeneric<T>(T Left, T Right) where T : class
    {
        return …
Run Code Online (Sandbox Code Playgroud)

c# generics operators

8
推荐指数
1
解决办法
119
查看次数

标签 统计

c# ×1

generics ×1

operators ×1