如何根据其他类声明

时间:2018-04-18 03:31:15

标签: c# elasticsearch inheritance interface

我正在建立一个在线购物网站。我创建了一个名为 Item 的类,以包含我销售的所有内容的所有常见属性。

// all common attribues
class Item {
    int price;
    string title;
    string description;
    string category;
}

现在,我有更多具有其他属性的类,它们都包含 Item

class Shirt {
    Item item;
    string size;
    string color;
}

class Book {
    Item item;
    string author;
    int noOfPages;
}

下一步是为我的网站实现搜索功能。我想使用 Elasticsearch 。我需要创建一个(且只有一个)包含所有需要搜索的字段的文档:

class ElasticSearchDocument
{
    // these are coming from Item
    int price;
    string title;
    string category;

    // there are coming from Shirt
    string size;
    string color;

    // these are coming from Book
    string author;
}

请注意, ElasticSearchDocument 将包含需要搜索的所有属性。我需要 ElasticSearchDocument 类将数据发送到Elasticsearch。

有什么方法可以使用我的其他类来构建 ElasticSearchDocument 吗?即,是否可以从其他类派生ElasticSearchDocument,所以如果我更改它们,我不需要在2个地方重复更改?

或者有更好的方法来实现这一目标吗?

0 个答案:

没有答案