У меня есть проект с использованием C# .NET 2.0 (нельзя использовать более высокую версию). Я хотел бы получить имя параметров метода в методе, который называется первым. Если я вызываю метод из MyMethodsClass, я хочу получить строку, указывающую, какой параметр недействителен, следуя некоторым условиям, указанным в методе isValid из класса MyCheckClass.Получить имя параметра из вызывающего метода
Со следующим кодом я получаю строку, которая возвращает «Пожалуйста, проверьте параметр 5», если я назову myMehtod (5,1,1). Но я хотел бы получить: «Пожалуйста, проверьте параметр».
Как я мог это сделать? Спасибо!
public MyMethodsClass {
public string myMethod (int a, int b, int c) {
return MyCheckClass.isValid(a,b,c);
}
public string myMethod2 (int d, int e) {
return MyCheckClass.isValid(d,e);
}
}
//Other file
public class MyCheckClass {
public static string isValid (params object[] parameters) {
StringBuilder result= new StringBuilder();
for (int i = 0; i < parameters.Length; i++)
{
object p = parameters[i];
//Some checks...
if (p == null || p.Equals("") || p != 5)
{
result.Append("Please check the " + p + " parameter");
}
}
return result.toString();
}
}
Чтобы получить это ясно, если myMethod2 называется как этот myMethod2 (SomeValue, someOtherValue); вы хотите иметь имя «someValue» и «someOtherValue». Или вы хотите, чтобы «d» и «e» были в сигнатуре метода? – RvdK
Я хочу иметь имена подписи, да. Например: «Пожалуйста, проверьте параметр», «Пожалуйста, проверьте параметр d» – pablof