Сериализуемые частичные классы
-
06-09-2019 - |
Вопрос
У меня есть следующее VB.NET определение класса:
<Serializable()> Partial Public Class Customers
End Class
Внутри другого файла у меня есть то же самое (с разными методами и переменными, конечно).Когда я компилирую, я получаю следующую ошибку:
Атрибут 'SerializableAttribute' не может быть применен несколько раз.
Ошибка говорит сама за себя.Мой вопрос в том, однако, если я просто отмечу один класс как Serializable(), могу ли я предположить, что весь класс с будет помечен как serializable()?Другими словами, нужен ли мне только тег serializable() в 1 месте класса?
Решение
Вам нужно пометить его только один раз для каждого класса, поэтому в классе с более чем одним "частичным" определением вам следует просто удалить его из всех других файлов.Вся эта "частичная" штука - это просто способ визуализации вашего кода, поэтому, когда вы примените ее один раз, это будет для весь класс.
Другие советы
Да, вам нужно только поместить его в один из частичных классов:
http://msdn.microsoft.com/en-us/library/wa80x488.aspx
Во время компиляции атрибуты определений частичного типа объединяются.