Gerçek koduma kolay bir örnek var. Letters
'dan türetilen JS123'e serileştirilmeli ve TestClass
sınıfının nesnesini geri seri hale getirmem gerekiyor. Her iki sınıf da parametreli kurucuya sahiptir. Nesne seri hale getirilemedi, çünkü 'Toplama sabit bir boyuttaydı.'
public class TestClass : Letters
{
public string[] Names { get; private set; }
public TestClass(string[] names)
: base(names)
// : base(new [] { "A", "B", })
// : base(names.Select(a => a.Substring(0, 1)).ToArray())
{
Names = names;
}
}
public abstract class Letters
{
public string[] FirstLetters { get; private set; }
protected Letters(string[] letters)
{
FirstLetters = letters;
}
}
Nesne TestClass
ait
Burada aksi takdirde kurucusunu çağırmak için bilmiyor, benim test onları serisini amacıyla bir parametresiz yapıcı olması tüm sınıfları ihtiyacı Json.Net
[Fact]
public void JsonNamesTest()
{
var expected = new TestClass(new [] { "Alex", "Peter", "John", });
var serialized = JsonConvert.SerializeObject(expected);
Console.WriteLine(serialized);
Assert.False(string.IsNullOrWhiteSpace(serialized));
var actual = JsonConvert.DeserializeObject<TestClass>(serialized);
AssertEx.PrimitivePropertiesEqual(expected, actual);
}
sahip tek kamu yapıcısı olan 'listesi nedir? –
Çünkü var olan ve değişmesi kolay olan sınıfları seri hale getirmeye ve seri hale getirmeye ihtiyacım var. Tüm sınıfların yeniden yazılması son olasılıktır. – Rudis