0

我正在尝试在我的 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";
   }
4

1 回答 1

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))

于 2018-09-27T13:59:49.703 回答