我有这种方法要设为通用类型。这将允许该方法接受我传入的任何类模型,例如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;
}
我正在使用elasticsearch的NEST。我想避免为所有模型重复代码。从上面可以看出,T => T是在这种情况下无效的类型。
答案 0 :(得分:1)
您的代码是完全错误的。您正在混合类型和变量。
具体来说,T
是一种类型,您不能返回类型。 model
是一个变量,您不能将变量用作泛型类型参数。
也许您想要这个吗?
public T SearchIndex<T>(string query)
{
return client.Search<T>(s => s
.Query(q => q
.Match(m => m.Query("hello"))
));
}