Сериализуемые частичные классы - PullRequest
5 голосов
/ 30 мая 2009

У меня есть следующее определение класса VB.NET:

<Serializable()> Partial Public Class Customers
End Class

Внутри другого файла у меня тоже самое (конечно, с разными методами и переменными). Когда я компилирую, я получаю следующую ошибку:

Атрибут 'SerializableAttribute' нельзя применять несколько раз.

Ошибка довольно очевидна. Мой вопрос, однако, если я просто отмечу один класс как Serializable (), могу ли я предположить, что весь класс помечается как serializable ()? Другими словами, мне нужен только тег serializable () в 1 месте в классе?

Ответы [ 2 ]

8 голосов
/ 30 мая 2009

Вам нужно пометить его только один раз для каждого класса, поэтому в классе с более чем одним «частичным» определением вы должны просто удалить его из всех других файлов. Вся «частичная» вещь - это просто способ визуализации вашего кода, поэтому, когда вы примените его один раз, это будет для класса целом .

7 голосов
/ 30 мая 2009

Да, вам нужно только поместить его в один из частичных классов:
http://msdn.microsoft.com/en-us/library/wa80x488.aspx

Во время компиляции атрибуты определений частичного типа объединяются.

...