Tôi có phần cấu hình tùy chỉnh đã đăng ký trong app/web.config, hãy gọi nó là MySection
. Tôi có một phần tử ElementCollection
bên trong phần, được gọi là MyElements
. Bên trong bộ sưu tập phần tử Tôi muốn có các phần tử được đại diện bởi các lớp khác nhau - ý tưởng là đây là các lớp tương tự với một số thuộc tính phổ biến và một số đặc trưng cho cá thể.Cấu hình tùy chỉnh .NET - Tôi có thể thu thập các phần tử với các phần tử không đồng nhất không?
Dưới đây là một số ví dụ cấu hình xml:
<MySection>
<MyElements>
<Element1 name="someProp1" value="someValue" />
<Element2 name="someProp2" format="{0}{1}" />
</MyElements>
</MySection>
Trong ví dụ đơn giản của tôi, tất cả các yếu tố này phải có một 'tên' bất động sản, một số sẽ có còn là một 'giá trị' bất động sản, và người kia là 'định dạng' bất động sản. Ở đây, tôi muốn Element1
và Element2
được thể hiện trong thời gian chạy .NET bởi hai lớp khác nhau có lớp cơ sở chung xác định thuộc tính 'tên'.
Theo như tôi đã đào sâu vào cấu hình .NET, tôi có ấn tượng rằng một bộ sưu tập phần tử (như 'MyElements' ở đây) nên chứa các phần tử đồng nhất (chỉ có một loại). Vì vậy, nó có thể có thể đạt được những gì tôi muốn - làm cho nó chứa các yếu tố của các lớp khác nhau. Ý tưởng là để tránh cả hai có nhiều hơn một bộ sưu tập phần tử cho các loại phần tử khác nhau và không viết tất cả các thuộc tính lặp lại cho mọi triển khai ConfigurationElement
tùy chỉnh.
Cảm ơn bạn đã trả lời của bạn. Thật vậy, một tổ tiên chung là những gì tôi có nghĩa là để sử dụng anyway. Ít nhất, tôi đang cố gắng tái sử dụng các thuộc tính chung của các phần tử tương tự, do đó tổ tiên chung có thể lưu trữ chúng và cũng làm giảm mã cho các phần tử cụ thể :) –