В чем разница между файлами .shared, .metadata и .partial в приложениях Silverlight RIA? - PullRequest
4 голосов
/ 06 мая 2011

Я видел эти 3 типа файлов, хотя и не в том же приложении.Каковы они, в чем разница между ними и есть ли какие-либо специальные расширения, о которых нужно знать?

1 Ответ

4 голосов
/ 06 мая 2011

Я пытаюсь уточнить это немного.

Файл кода с расширением .shared копируется в клиентский проект silverlight во время компиляции. Так что вы можете управлять кодом на стороне сервера, но использовать тот же код на стороне клиента. Здесь вы можете найти определение функции SharedCode в silverlight.

Файл кода с расширением .metadata обычно создается мастером «Новый класс службы домена» в Visual Studio при установке флажка «Создать связанные классы для метаданных». Этот файл содержит дополнительную информацию метаданных о классе, такую ​​как ValidationAttributes для клиента silverlight. Здесь ´s вы можете найти информацию о метаданных в службах RIA WCF.

Файлы кода с расширением .partial сигнализируют только о том, что этот файл содержит дополнительный частичный код (реализация частичных методов, дополнительных методов или свойств) для класса. Обычно это используется, когда вы расширяете класс, который автоматически создается дизайнером (например, Entity Framework).

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

Sidenote: В настоящее время я делаю то, что, когда я реализую интерфейс в классе, я определяю класс как частичный и помещаю код реализации интерфейса в другой файл кода с именем интерфейса в качестве расширения.

* 1 028 * Пример:

UserListViewModel.cs -> частичный класс UserListViewModel с реализацией модели представления

UserListViewModel.INavigationAware.cs -> частичный класс UserListViewModel с реализацией интерфейса INavigationAware для модели представления.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...