运算符'=='不能应用于'Type'类型的操作数 和'类型?'

Maj*_*jid 2 .net c# code-contracts

我有一个这样的课:

public class Article {

private Category? category;
private string content;

public Article(Category? category,string content){
      Contract.Ensures(this.category == category); // error

   }
}
Run Code Online (Sandbox Code Playgroud)

但在Ensure方法上会出现此错误:

运算符'=='不能应用于'类别'类型的操作数 和'类别?'

我怎么能避免这种情况?

ove*_*wed 5

用这个:

this.category.Equals(category)
Run Code Online (Sandbox Code Playgroud)

  • 除非他超越这个功能,否则不太可能有所帮助 (2认同)

Ser*_*rvy 5

==如果您希望能够使用它来比较该类型的两个实例(无论是否可为空),则需要重载该类型的运算符.