Перезапись абстрактного метода в частичном классе - PullRequest
0 голосов
/ 29 марта 2012

У меня есть абстрактный класс с именем PersonAbstract. У него есть абстрактное свойство под названием Age

abstract public int Age { get; set; }

Два класса, называемые Customer и Employee extended PersonAbstract.

Customer и Employee создаются с использованием Linq-to-SQL, поэтому они имеют автоматически сгенерированный код.

Автоматически сгенерированный код для обоих из них:

public int Age
{
   get
   {
      return this._age;
   }
   set
   {
      this._age = value;
   }
}

Я добавляю функциональность к Employee и Customer, используя частичный класс.

public partial class Employee: PersonAbstract
{
.....

Как изменить эту структуру так, чтобы у унаследованных классов (Employee и Customer) их свойство person переопределяло свойство person в абстрактном классе, не касаясь автоматически сгенерированного кода?

Edit:

Проблема в том, что я хочу, чтобы оба класса совместно использовали код родительского класса. Поэтому я пытался добавить абстрактный класс с общим кодом между интерфейсом, который реализует свойство Age, и двумя дочерними классами. Но этому коду необходим доступ к свойству Age. Поэтому абстрактный класс должен реализовывать интерфейс, используя абстрактные экземпляры свойства Age, и дочерние классы переопределяют это. Если это невозможно, как еще можно добиться желаемого результата?

1 Ответ

5 голосов
/ 29 марта 2012

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

Если вы поместите свойство age в интерфейс хотя, тогда автоматически сгенерированный код с радостью реализует интерфейс для вас.

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