比较它们的int id属性时如何执行类类型

问题描述 投票:2回答:1

我有几个具有id属性且类型相同的类int?:

public class Person {
  public int? id { get; set; }
}

public class Project {
  public int? id { get; set; }
}

// etc...

在编写代码时,我碰到了语义错误的类型:if (person.id == project.id),在我发现错误之前,没有任何警告。

我如何创建某种类型的基础类型强制实施,或者甚至更好的是,编译器警告之类的东西,警告我并非一切看起来都正常?

我可以考虑创建一个Equals(Person p) { return p.id == this.id },但我更喜欢可以更“自由”使用的其他机制。

c# types semantics class-members editorconfig
1个回答
0
投票

描述为Micosoft

您可以尝试以下操作:

if(p.id == typoeof(Person))
    return p.id;
© www.soinside.com 2019 - 2024. All rights reserved.