我有一组类,它们代表可以传递给AWS ElasticSearch的文档/对象。至少,每个类都必须在属性上使用以下属性来定义该文档的唯一ID。
[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; }
}
通常,如果我想强制其他开发人员以实现某些字段或方法的某种方式创建他们的类,我会使用一个Interface。但是,如果我想确保他们在ElasticModel中创建的任何类都使用上面显示的property属性,我将如何实施呢?根据文档的结构,属性本身可以被命名为许多不同的东西。可以使用接口来创建对使用属性属性的严格要求吗?我找不到任何此类示例,也无法找到实现此结果的其他方法。