LInq to SQL - Частичный класс - C # - PullRequest
1 голос
/ 12 марта 2010

У меня есть система с 2 разными проектами, один называется LINQ_Extensions, а другой - ORM_Linq.

В ORM_Linq у меня есть диаграмма LINQ с таблицами SQL, "преобразованными" в предложениях. Один из классов называется "Типос_Паго"

В другом проекте у меня есть другой класс (частичный класс) "Tipos_Pago". Я хочу использовать метод OnValidate для проверки свойств, включаемых в класс "Tipos_Pago", поэтому я создаю этот частичный класс.

В 2 проектах я поместил одно и то же пространство имен «ORM_Linq» (я изменил пространство имен проекта «LINQ_Extensions», чтобы оно совпадало с проектом «ORM_Linq»)

После этих попыток Visual Studio выдает мне эту ошибку:

Ошибка 1 Не найдено определяющего объявления для реализации объявления частичного метода 'ORM_Linq.Tipos_Pago.OnValidate (System.Data.Linq.ChangeAction)' C .. \ Tipos_Pago.cs 13 22 Extensiones_Linq

Понятия не имею, что случилось, кто-нибудь может мне помочь?

Спасибо, извините за мой плохой английский

Это код в частичном классе:

namespace ORM_Linq
{
    public partial class Tipos_Pago
    {

        partial void OnValidate(System.Data.Linq.ChangeAction action)
        {
         //Valid code
        }   
    }
}

Ответы [ 2 ]

2 голосов
/ 12 марта 2010

Вам нужно создать частичную реализацию в том же проекте, что и классы, созданные дизайнером.

Из документации Microsoft :

Все определения частичного типа предназначены для быть части одного типа должны быть определены в той же сборке и тот же модуль (.exe или .dll файл). Частичные определения не могут охватывать несколько модулей.

2 голосов
/ 12 марта 2010

Невозможно реализовать частичное в 2 проектах, поскольку они должны быть скомпилированы вместе, объявления partial должны быть в одном проекте.

Это же правило применяется к методам и классам.

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