我正在尝试检查C#应用程序中tst(打字稿生成器)文件中的条件。我收到错误运算符“ &&”不能应用于类型“方法组”的操作数。我得到的错误是在我检查HasParameters的ObserveResponse中
bool HasParameters(Method m) => m.Parameters != null && m.Parameters.Count > 0 ? true : false;
string ObserveResponse(Method m)
{
var api = (Class)m.Parent;
if ((api.Attributes.Any(i=>i.Name=="AllowAnonymous")) && HasParameters ) return ",{observe: 'response'}";
if (api.Attributes.Any(i=>i.Name=="Authorize")) return '';
if (m.Attributes.Any(i=>i.Name=="AllowAnonymous")) return ",{observe: 'response'}";
if (m.Attributes.Any(i=>i.Name=="Authorize")) return '';
return "#ERROR";
}
答案 0 :(得分:0)
HasParameters是一种方法,因此您需要调用它(带有一个参数-大概是m):
bool HasParameters(Method m) => m.Parameters != null && m.Parameters.Count > 0 ? true : false;
string ObserveResponse(Method m)
{
var api = (Class)m.Parent;
if ((api.Attributes.Any(i=>i.Name=="AllowAnonymous")) && HasParameters(m) ) return ",{observe: 'response'}";
if (api.Attributes.Any(i=>i.Name=="Authorize")) return '';
if (m.Attributes.Any(i=>i.Name=="AllowAnonymous")) return ",{observe: 'response'}";
if (m.Attributes.Any(i=>i.Name=="Authorize")) return '';
return "#ERROR";
}
(在ObserverResponse方法中将HasParameters更改为HasParameters(m))