私はこれを行うと、いくつかの追加のメタデータを提供するライブラリを作成しました。 MVC ModelMetadata
とDataAnnotations
を利用して、技術的ではないユーザーのためのdiffの「読み取り可能なバージョン」を提供しています。これは、出力何かたい
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
これは翻訳のためのサポートのいずれかの種類を持っていないか、または私が持っていない(当然なしメタデータ)のような物体を考えると
https://github.com/paultyng/ObjectDiff
コードをフォークして変更するには? –