当我有一个显式类型的对象时,索引就没有问题。例如,
EventObject e;
IElasticClient client;
client.Index(e); // perfectly valid
但是,我有一个类型为泛型的类。这是我的课
class FantasticClass<INDEXCLASS>
{
IElasticClient client;
public FantasticClass(IElasticClient c)
{
client = c;
}
public INDEXCLASS Add(INDEXCLASS entity)
{
client.Index(entity); // can't compile!
// or
client.Index<INDEXCLASS>(entity); // can't compile!
}
}
推断类类型时如何使用Nest编制索引?
最佳答案
无法编译的问题是由于该类缺少声明INDEXCLASS
类型的声明而导致的,因此应该可以解决该错误:
class FantasticClass<INDEXCLASS> where INDEXCLASS : class
此外,
Add
方法的返回类型为INDEXCLASS,但是该方法中未返回任何内容。将其编入索引后,可以将其更改为void
或返回entity
变量。关于c# - 当我们索引的类型是泛型时如何调用IElasticClient.Index(),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31006712/