Tôi muốn chuyển đối số cho hàm tạo của trình tạo tùy chỉnh, vì vậy tôi đoán tôi phải ghi đè cơ chế khởi tạo của Trình khởi tạo. Vấn đề là tôi không thể tìm thấy, trong các tài liệu, một cách để móc nó lên, và nó làm cho tôi nghĩ rằng nó không thể (hoặc các tài liệu không đầy đủ).Tôi có thể chuyển đối số cho một hàm tạo của trình tạo log4net tùy chỉnh không?
Đối với phiên bản 1.2.10, điều này là không thể nếu không sửa đổi mã nguồn. Các phần có liên quan là trong Repository\Hierarchy\XmlHierarchyConfigurator.cs:L286
:
IAppender appender = (IAppender)Activator.CreateInstance(SystemInfo.GetTypeFromString(typeName, true, true));
Như bạn có thể thấy, nó nên sử dụng quá tải này (hoặc một cái gì đó trên đường đi đó) để cho phép tôi để đạt được nhu cầu của tôi.
Activator.CreateInstance(Type, Object[])
Stefan, vấn đề chính xác là bạn viết vào cuối: Tôi phải cung cấp một đối tượng phức tạp mà nó được khởi tạo trong thời gian chạy. Không có cách nào để cung cấp thông qua cấu hình XML. – Simone
Bạn không thể tạo một thể hiện của lớp này dựa trên một số chuỗi tham số? –
Không, tôi phải vượt qua một đối tượng hiện có khác. – Simone