Хотя было бы неплохо, если бы serialize мог получить доступ к частным свойствам, к сожалению, на сегодняшний день нет простого способа.
Но есть и другой вариант архитектурного решения.
НЕ разрушайте требования к вашему бизнес-домену, вместо этого разделяйте уровни, аналогичные дизайну nTeir, и реализуйте DTO ...
Если вы разделяете свой бизнес, datafacade / dataadaptor (здесь хорошо подходит заводской шаблон) и уровни DataAccess на 3 проекта, которыми вы можете управлять, ссылаясь на то, что бизнес никогда не знает о вашем DTO.
Смысл в том, что если вы решили удалить или реализовать сериализацию или поменять ее на сохранение на SQL-сервере, это никак не повлияет на ваш бизнес-уровень.
Всегда есть один недостаток, нужно написать еще кучу кода:
* вам нужно написать конвертер объектов в обе стороны для каждой сущности, которую вы хотите перейти в Dataaccess
* вы потенциально можете уничтожить некоторые из скрытых объектов OO. Метод BusinessSave в бизнесе должен быть переведен на правильный тип в Dataface, прежде чем перейти к dataaccess
Вы можете сделать это намного проще с помощью чего-то вроде nHybinate или аналогичного.
ура
Choco