Как обеспечить, чтобы любой созданный класс указывал определенный атрибут свойства - PullRequest
0 голосов
/ 05 июля 2019

У меня есть набор классов, которые представляют документы / объекты, которые можно передавать в AWS ElasticSearch.Как минимум, каждый класс должен использовать следующий атрибут в свойстве, чтобы определить этот документ с уникальным идентификатором.

[ElasticsearchType]

например,

  public class ElasticModel
    {
        [ElasticsearchType(IdProperty = nameof(UniqueIndex))] // Inference
        public class ScrapedProduct : ElasticModel 
        {
            public string UniqueIndex { get; set; }
            public string Category { get; set; }
            public string ProductName { get; set; }
            public float Price { get; set; }
        }

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

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