Наследование классов без атрибутов - PullRequest
0 голосов
/ 27 декабря 2018

У меня есть следующий класс

public class Item
{
    [Key]
    public int ID { get; set; }

    [Required]
    public string Title { get; set; }

    public string Description { get; set; }

    [NotMapped]
    public string Type { get; set; }

    .... a lot more properties
}

Есть ли способ наследовать / иметь копию класса без атрибутов, без необходимости дублирования кода класса дважды?

RealОбъяснение проблемы: я использую отчет RDLC и использую класс в качестве источника данных.

Проблема в том, что конструктору отчетов это не нравится и выдает мне следующее сообщение:

Не удалось получить свойства источника данных «Элемент» из-за следующей ошибки: Не удалось загрузить файл или сборку System.ComponentModel.Annotations, Версия = 4.2.0.0, Культура = нейтральная .......Или одна из его зависимостей.Система не может найти указанный файл.

1 Ответ

0 голосов
/ 27 декабря 2018

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

Ваши варианты либо выясняют, почему эта сборка не найдена дизайнером, либо имеют какие-то дубликаты настройки класса во время разработки.Возможно, в вашем случае будет достаточно интерфейса с такими же свойствами.

...