Я не уверен, что понимаю вашу цель, но если вы хотите, чтобы ваш аппендер был настраиваемым, вам, в основном, нужно предоставить свойство своему аппендиру. Затем вы можете установить это свойство либо программно, либо в файле конфигурации.
UdpAppender предоставляет свойство, подобное этому:
public int LocalPort
{
get; set;
}
(На самом деле это немного сложнее, поскольку они проверяют, является ли значение в установщике действительным портом.)
В файле конфигурации вы используете его так:
<localPort value="8080" />
Это очень хорошо работает для простых типов, таких как string, int ..., но также и для некоторых сложных типов, таких как IPAddress
. Если у вас есть свой собственный тип, вам будет сложнее заставить его работать, и мне придется сначала проверить, как это делается.