3
我有一個奇怪的行爲與C#。與屬性的奇怪行爲
我有一個類,包括靜態,一些lokks這樣的:
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 =一個狀態實例「創建「):
Assert.AreEqual(myObj.Status, Status.Created);
// True
它工作正常,兩個對象都是等於。
但是,如果我改變我的狀態類到這個:
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
不工作了,這兩個對象是不同的。
我不明白爲什麼?