У меня есть метод, который доступен только в том случае, если соблюдены определенные критерии, в противном случае метод не будет выполнен. В настоящее время, вот как я кодирую вещь:
public void CanAccessDatabase()
{
if(StaticClass.IsEligible())
{
return;
}
// do the logic
}
Теперь, этот код уродлив, потому что нет нигде такого условия if(StaticClass.IsEligible())
, которое не имеет отношения к вопросу о методе.
Итак, я думаю о том, чтобы добавить в атрибут метод IsEligible
, чтобы мой код выглядел следующим образом. Если условие не выполнено, этот метод просто вернется без выполнения приведенной ниже логики.
[IsEligibleCheck]
public void CanAccessDatabase()
{
// do the logic
}
Приемлемость - это решение во время выполнения, конечно.
Есть идеи, как кодировать логику для IsEligibleCheck
? Спасибо
Редактировать: Я знаю, что PostSharp может сделать это, но я смотрю на что-то, что работает из коробки, не завися от какой-либо сторонней библиотеки.