C# 嵌套的泛型类型无效

C# 嵌套的泛型类型无效,c#,nest,C#,Nest,我有这个方法,我想使泛型类型。这将允许该方法接受我传入的任何类模型,例如Blog模型、Post模型、Author模型等 因此,每当我调用这个方法时,我都会传入模型和查询 public T SearchIndex(T model, string query) { var srchService = client.Search<model>(s => s .Query(q => q .Match(m => m.Query("hello")

我有这个方法,我想使泛型类型。这将允许该方法接受我传入的任何类模型,例如Blog模型、Post模型、Author模型等

因此,每当我调用这个方法时,我都会传入模型和查询

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

    return T;
}
public T SearchIndex(T模型,字符串查询)
{
var srchService=client.Search(s=>s
.Query(q=>q
.Match(m=>m.Query(“hello”))
));
返回T;
}

我正在使用elasticsearch的NEST。我希望避免对所有模型重复代码。综上所述,T=>T是一种在此上下文中无效的类型。

您的代码非常错误。您正在混合类型和变量。
具体来说,
T
是一个类型,不能返回类型。而
model
是一个变量,不能将变量用作泛型类型参数

也许你想要这个

public T SearchIndex<T>(string query)
{
    return client.Search<T>(s => s
    .Query(q => q
        .Match(m => m.Query("hello"))
    ));
}
public T SearchIndex(字符串查询)
{
返回client.Search(s=>s
.Query(q=>q
.Match(m=>m.Query(“hello”))
));
}

您需要使用
客户端。搜索
,如果出现编译错误,请修复它们,使其满足
T
上的约束。不过还有其他编译错误。我正在研究它们。