したがって、コンパイラは、クラスの == および != 演算子をオーバーロードすることを許可しません。クラスは次のようになります。
public class Item
{
public string _name;
public double _weight;
public decimal _wholesalePrice;
public int _quantity;
public Item(string name, double weight, decimal wholesalePrice, int quantity)
{
_name = name;
_weight = weight;
_wholesalePrice = wholesalePrice;
_quantity = quantity;
}
public static override bool operator ==(Item left, Item right)
{
if (left._name == right._name)
{
return true;
}
return false;
}
public static override bool operator !=(Item left,Item right)
{
return !(left == right);
}
}
コンパイラは、「修飾子 'override' はこの項目に対して有効ではありません。最初は、基本メソッドを仮想として宣言していないのではないかと思っていましたが、クラスは派生していません。何が起こっているのか考えていますか?