我創建了一個庫來做到這一點,並提供了一些額外的元數據。它依靠MVC ModelMetadata
和DataAnnotations
爲非技術用戶提供diff的「可讀版本」。
https://github.com/paultyng/ObjectDiff
考慮對象,如(沒有元數據要明顯):
var before = new
{
Property1 = "",
MultilineText = "abc\ndef\nghi",
ChildObject = new { ChildProperty = 7 },
List = new string[] { "a", "b" }
};
var after = new
{
Property1 = (string)null,
MultilineText = "123\n456",
NotPreviouslyExisting = "abc",
ChildObject = new { ChildProperty = 6 },
List = new string[] { "b", "c" }
};
這將輸出類似:
ChildObject - ChildProperty: '6', was '7'
List - [2, added]: 'c', was not present
List - [removed]: No value present, was 'a'
MultilineText:
-----
123
456
-----
was
-----
abc
def
ghi
-----
NotPreviouslyExisting: 'abc', was not present
這是否有什麼樣的翻譯支持還是我分叉代碼並修改它? – 2014-09-13 10:32:44