मैं एक कस्टम एपेंडर के कन्स्ट्रक्टर को तर्क पारित करना चाहता हूं, इसलिए मुझे लगता है कि मुझे परिशिष्ट के प्रारंभिक तंत्र को ओवरराइड करना है। समस्या यह है कि मैं दस्तावेज़ों में, इसे हुक करने का एक तरीका नहीं ढूंढ सकता, और यह मुझे लगता है कि यह संभव नहीं है (या दस्तावेज़ डक अपूर्ण हैं)।क्या मैं एक कस्टम log4net एपेंडर के कन्स्ट्रक्टर के लिए तर्क पास कर सकता हूं?
संस्करण 1.2.10 के लिए, स्रोत कोड को संशोधित किए बिना यह संभव नहीं है। प्रासंगिक अनुभाग Repository\Hierarchy\XmlHierarchyConfigurator.cs:L286
में है:
IAppender appender = (IAppender)Activator.CreateInstance(SystemInfo.GetTypeFromString(typeName, true, true));
आप देख सकते हैं, यह मेरे मेरी जरूरतों को प्राप्त करने की अनुमति के लिए यह अधिभार (या कि रास्ते में कुछ) का उपयोग करना चाहिए।
Activator.CreateInstance(Type, Object[])
स्टीफन, समस्या यह है कि आप अंत में लिखते हैं: मुझे एक जटिल वस्तु प्रदान करना है कि इसे रनटाइम पर तुरंत चालू किया जाए। इसे XML कॉन्फ़िगरेशन के माध्यम से प्रदान करने का कोई तरीका नहीं है। – Simone
आप कुछ पैरामीटर तारों के आधार पर इस कक्षा का उदाहरण नहीं बना सकते हैं? –
नहीं, मुझे एक और मौजूदा वस्तु पारित करनी होगी। – Simone