Только что проведя небольшой экспериментальный сеанс, чтобы попытаться увидеть, сколько потребуется работы, чтобы перенести нашу библиотеку классов .NET или, по крайней мере, ее части, в Silverlight, чтобы мы могли повторно использовать бизнес-логику между двумя мирами, Мне интересно, есть ли у других опыт такого рода вещей.
Вещи, которые я заметил, с макушки головы:
- Отсутствует много атрибутов (например, просматривается (false))
- Множество интерфейсов отсутствует или присутствует, но пусто (ICloneable скрыт, ITypedList отсутствует)
- Различия в отражении (все достижимое должно быть общедоступным)
- Некоторые различия базового класса (без Компонента?)
Так что мне интересно, реально ли мне даже взглянуть на это как на возможность?
Я запустил исходный код, но мне пришлось просто закомментировать целый ряд базовых функций, в основном связанных со списками, поскольку они основаны на ITypedList и некоторых базовых классах. Очевидно, мне нужно перейти на ObservableCollection в Silverlight, поэтому для того, чтобы справиться с этим, необходимо изменить весь базовый код.
Фактический класс бизнес-тестов, который я создал, на 99,5% идентичен тому, который я сделал бы для .NET, только некоторые незначительные изменения, которые можно было бы легко использовать и в .NET, только не так, как я бы это сделал прежде чем смотреть на Silverlight. Другими словами, представляется возможным обмениваться бизнес-логикой, если я могу сделать базовые классы совместимыми.
Просто, чтобы понять, о чем я говорю, это то, что у меня будет два файла проекта, один для .NET и один для Silverlight, но фактический исходный код C # будет таким же, что и общий два.
Так у кого-нибудь есть опыт с этим? Любые советы или рекомендации?
Это будет стоить того? Это, безусловно, заслуживает большего изучения.