我有許多數據類有超過25個不同值類型的屬性(並且隨着需求的變化,這可能會改變)。我想重寫equals,主要是爲了單元測試目的。C#中有很多屬性的類的覆蓋等於
目前,我知道如何做到這一點的唯一方法是實際測試硬編碼的每個屬性的相等性。這看起來很糟糕,原因有二:首先,我必須編寫大量代碼來測試25個屬性是否相等 - 其次,如果其中一個類中的屬性稍後添加,Equals方法將不會檢查這很可能會被忽視,並導致問題在後面。
由於Equals通常會檢查類的屬性,因此應該有一種方法來動態比較要比較的類的屬性,從而確保對類的屬性更改不會導致Equals的錯誤實現。有沒有辦法做到這一點?