Tôi cần tránh việc tuần tự hóa thành viên của lớp Sự kiện vì khi sự kiện được xử lý bởi một đối tượng không được đánh dấu là Nối tiếp, việc tuần tự hóa sẽ không thành công.Làm thế nào để bỏ qua thành viên lớp học Sự kiện để tuần tự hóa nhị phân?
Tôi đã thử sử dụng thuộc tính NonSerialized trên thành viên của lớp Sự kiện nhưng không thể biên dịch được. dòng mã này:
<NonSerialized()> Public Event PropertyValueChanged()
tạo ra lỗi sau:
Attribute 'NonSerializedAttribute' cannot be applied to 'PropertyValueChanged' because the attribute is not valid on this declaration type.
Public Event PropertyValueChanged() ' compiles but needs the extra handling described below
Có một cách khác để tránh serializing thành viên tổ chức sự kiện?
Đây không phải là vấn đề nếu sự kiện không được xử lý và tôi có thể làm việc xung quanh nó bằng cách sao chép các đối tượng (và bỏ qua sự kiện) trước khi tuần tự hóa chúng. Chỉ cần tự hỏi nếu có một cách tốt hơn.
Cảm ơn.
@Paul - re "vẫn không thành công"; chính xác thì bạn muốn làm gì? Tôi tự hỏi nếu thay đổi serializer sẽ là một lựa chọn tốt ở đây (nó không phải là khó như nó âm thanh, và có lợi ích phụ quá). Tùy thuộc vào bạn tất nhiên, nhưng tôi có thể nói về khu vực này trong * giờ * ... –
@Marc: Cảm ơn bạn đã theo dõi. Tôi chỉ cần bỏ qua các sự kiện khi tuần tự hóa một lớp kể từ khi tuần tự hóa không thành công khi sự kiện được kết nối với một đối tượng không được tuần tự hóa. Các NonSerialized thuộc tính có ý nghĩa nhưng dường như không làm việc theo cùng một cách trong VB như trong C# ... Tôi nhận được một lỗi biên dịch ngay cả khi tôi trang trí một lĩnh vực sao lưu vào một tài sản sự kiện công cộng. Bạn có ý gì khi nói "thay đổi bộ nối tiếp"? Bạn có nghĩa là serialization tùy chỉnh hoặc một số khác, thư viện bên thứ 3? –