Bagaimana saya bisa menulis sesuatu seperti ini:

<appender name="MyAppender" type="MyNamespace.MyAppender, MyDll">
    <url value="http://example1.com" />
    <url value="http://example2.com" />
    <url value="http://example3.com" />
</appender>

Di file konfigurasi log4net Appender, dan buatlah deserialized ke properti kustom saya di kelas saya:

public class MyAppender : BulkAppender
{
    public string[] Url { get; set; }
}

Saya tidak punya masalah dengan string tunggal, tetapi apa pun yang saya lakukan, saya tidak dapat membatalkan deserialisasi array.

1
Peska 23 November 2017, 11:41

1 menjawab

Jawaban Terbaik

Bukan solusi yang paling elegan, tetapi Anda dapat menggunakan daftar alih-alih array:

public class MyAppender : BulkAppender
{
    public List<string> Url { get; set; }
}

Dan kemudian gunakan sesuatu seperti ini di app.config Anda:

<url>
  <add value="http://example1.com" />
  <add value="http://example2.com" />
  <add value="http://example3.com" />
</url>
1
Szybki 19 Juni 2018, 01:40