Напишите метод для веб-метода в C#, используя nrefactory
Я использую nrefactory для изменения кода C#. У меня есть различные веб-методы в моем коде. Я хочу разработать другой метод над каждым web method в моем коде C#.
Пример ввода, оригинальный метод C# в файле C#:
[WebMethod]
public static MoneyTransfer[] GetCities(int StateID, int countryID)
{
....
....
}
Образец вывода:
private bool validGetCities(int StateID, int countryID)
{
if (StateID <= 0)
return false;
if (countryID <= 0)
return false;
return true;
}
[WebMethod]
public static MoneyTransfer[] GetCities(int stateID, int countryID)
{
if(validGetCities(stateID, countryID))
{
....
....
}
}
Здесь, метод validGetCities() проверит все входные параметры для условия не <=0. Выполните web method, только если validGetCities() вернет true. Я мог бы написать выражение сопоставления с образцом, используя nrefactory, как показано ниже,
var expr = new MethodDeclaration
{
Modifiers = Modifiers.Private,
ReturnType = new PrimitiveType("bool"),
Name = "validGetCities",
Body = new BlockStatement{
new ReturnStatement {
Expression = new PrimitiveExpression("true")
}
}
};
Это выражение сгенерирует следующий фрагмент кода,
private bool validGetCities()
{
return "true";
}
Итак, я мог бы сгенерировать выражение для 0 или фиксированного количества параметров. Как я могу заставить его работать для нескольких входных параметров.