私はC#で奇妙な振る舞いをしています。
私は静的を含むクラスを持っています。
 public class Status
 {
     public int Id { get; internal set; }
     public string Name { get; internal set;}
     public static Status Created = new TicketStatus { Id = 1, Name = "Created" };
 }
私はそれをそのように使用します( myObj.Status が Id=1 および Name="Created" の Status インスタンスであると仮定します):
Assert.AreEqual(myObj.Status, Status.Created);
    // True
それは正常に動作し、両方のオブジェクトが等しいです。
しかし、 Status クラスをこれに変更すると:
 public class Status
 {
     public int Id { get; internal set; }
     public string Name { get; internal set;}
     public static Status Created
     {
        get { return new TicketStatus { Id = 1, Name = "Created" }; }
     }
 }
それから声明
Assert.AreEqual(myObj.Status, Status.Created);
    // False
もう機能しません。両方のオブジェクトが異なります。
理由がわかりません。