Đi về với nhiệm vụ của tôi để uốn cong protobuf-net ý muốn của riêng tôi ..Hạn chế protobuf-net thừa kế "cây"
Tôi đã nhìn thấy một vài câu hỏi xung quanh SO về cách thêm sub-lớp động cho bộ nối tiếp để có thể mã hóa lớp con .., như this hoặc this
Tình trạng của tôi hơi khác một chút, tôi có một lớp cơ sở có thể được phân loại vào mã bị giới hạn muộn và tôi muốn tuần tự hóa là lớp BASE và hoàn toàn bỏ qua các trường/thuộc tính của lớp con. Lý do tôi cần điều này, là sau này, khi tôi deserialize dữ liệu, mã của lớp phụ sẽ không có sẵn, vì vậy việc xây dựng lớp con sẽ không thể thực hiện được nữa.
Có cách nào để giới hạn/cấm phân cấp theo lớp phụ không?
Trong trường hợp của tôi, tôi có Danh sách trong đó một số mục trong danh sách là DerivedClass.
Tôi muốn tìm một cách để làm protobuf-net serialize tất cả mọi thứ như BaseClass và deserialize đến BaseClass cũng ...
tôi đã cố gắng nhìn chăm chú vào mã, nhưng đã không tìm thấy một cái gì đó quá hữu ích .
Ngất xỉu bạn nói? ;) Tôi nghĩ rằng tôi sẽ hack vào nguồn Coe nhưng cảm ơn cho đề nghị – damageboy
@damageboy nếu bạn muốn thêm một số cơ chế tùy chỉnh cho điều này, 'TypeModel.ResolveProxies' sẽ có giá trị xem xét. Tôi không chống lại việc thêm một API cụ thể protobuf-net ở đây. –
Vì vậy, chúng tôi đang ở trong đây rõ ràng ... Lý do bạn đang chỉ cho tôi đối với ResolveProxies là bởi vì nó được gọi là từ ThrowUnexpectedSubtype như là phương sách cuối cùng trước khi ném ngoại lệ? – damageboy