частичный класс не может быть создан в библиотеке сервиса ria - PullRequest
1 голос
/ 13 октября 2009

При создании библиотеки классов обслуживания .NET Ria VS создаст два проекта: MyRiaServices (клиентская часть) MyRiaServices.Web (на стороне сервера)

Предположим, моя модель сущности находится в другом проекте: MyData (структура сущности)

Есть Люди Сущности.

Затем я хочу использовать частичный класс для расширения этой сущности следующим образом:

namespace MyData
{
   public partial class Person
    {
    //....
    }
}

Если я делаю это в проекте MyData, это нормально.

Но я хочу сделать это в проекте MyRiaServices.Web, чтобы я мог назвать файл как person.shared.cs, но мне это не удалось. Это дает мне ошибку, говоря конфликт определения класса и т. Д.

Как решить эту проблему?

1 Ответ

0 голосов
/ 15 октября 2009

Вы не можете использовать частичный класс таким образом. Цель ключевого слова partial - позволить двум или более исходным файлам в компиляции внести свой вклад в полный код одного типа. Это позволяет автоматически сгенерированному коду, созданному дизайнерами, находиться в отдельном файле от написанного разработчиком кода, который затем образует один класс, такой как Person.

Однако этот mechisim - вещь времени компиляции. Нельзя, чтобы сборка предоставляла тип partial, который можно расширить с помощью кода, скомпилированного в другую сборку.

См. Определение здесь .

...