NEST 的通用类型无效

Invalid Generic Type with NEST

我有这个方法,我想制作通用类型。这将允许该方法接受我传入的任何 class 模型,例如博客模型、Post 模型、作者模型等

因此,无论何时我调用此方法,我都会传入模型并进行查询。

public T SearchIndex(T model, string query)
{
    var srchService = client.Search<model>(s => s
    .Query(q => q
        .Match(m => m.Query("hello"))
    ));

    return T;
}

我正在使用 elasticsearch 的 NEST。我想避免为所有模型重复代码。从上面可以看出,T => T 是一种在此上下文中无效的类型。

您的代码有误。您正在混合类型和变量。
具体来说,T 是一种类型,您不能 return 类型。 model 是一个变量,不能将变量用作泛型类型参数。

也许你想要这个?

public T SearchIndex<T>(string query)
{
    return client.Search<T>(s => s
    .Query(q => q
        .Match(m => m.Query("hello"))
    ));
}