Аналогично, я не нашел, что что-либо получает параметры автоматически во времени выполнения. Вместо этого я использовал дополнение Visual Studio для генерации кода что явно пакеты параметры, как это:
public class ExceptionHandler
{
public static bool HandleException(Exception ex, IList parameters)
{
/*
* Log the exception
*
* Return true to rethrow the original exception,
* else false
*/
}
}
public class Param
{
public string Name { get; set; }
public object Value { get; set; }
}
public class MyClass
{
public void RenderSomeText(int lineNumber, string text, RenderingContext context)
{
try
{
/*
* Do some work
*/
throw new ApplicationException("Something bad happened");
}
catch (Exception ex)
{
if (ExceptionHandler.HandleException(
ex,
new List
{
new Param { Name = "lineNumber", Value=lineNumber },
new Param { Name = "text", Value=text },
new Param { Name = "context", Value=context}
}))
{
throw;
}
}
}
}
РЕДАКТИРОВАНИЕ: или альтернативно, путем создания параметра к HandleException массивом параметров:
public static bool HandleException(Exception ex, params Param[] parameters)
{
...
}
...
if (ExceptionHandler.HandleException(
ex,
new Param { Name = "lineNumber", Value=lineNumber },
new Param { Name = "text", Value=text },
new Param { Name = "context", Value=context}
))
{
throw;
}
...
Это - что-то вроде боли, генерирующей дополнительный код для явной передачи параметров обработчику исключений, но с использованием дополнения можно, по крайней мере, автоматизировать его.
пользовательский атрибут А может использоваться для аннотирования любых параметров, которые Вы не хотите, чтобы дополнение передало обработчику исключений:
public UserToken RegisterUser( string userId, [NoLog] string password )
{
}
2-Е РЕДАКТИРОВАНИЕ:
Мышление Вы, я полностью забыл о AVICode:
Они используют методы перехвата вызова для обеспечения точно этого вида информации, таким образом, это должно быть возможно.
внутри требует, чтобы находился внутри
li
, поэтому либо создайте новый li
, либо откройте первый.
Валидатор правильный: единственными допустимыми элементами в элементе
или
являются
элементов. Если вы хотите вложить списки, поместите их в элементы
.