Могу ли я как-то в зависсимости от передаваемого значения игнорировать или выполнить метод. Например:
[System.AttributeUsage(System.AttributeTargets.Method)]
public class CanAddAttribute : System.Attribute
{
public int Count { get; set; }
public CanAddAttribute(int count)
{
if (count < 3) // то все ок, и выполнить метод после атрибута
else // не выполнять метод
}
}
Ну и после
[CanAdd]
public void TestMethod()
{
// что-то делается
}
PS специально написал у атрибута кривой конструктор, потому что без понятия как так сделать, и вообще возможно ли
UPDATE
Count
был для примера. На самом деле я собираюсь в конструкторе вызвать функцию, которая сможет проверить нужное мне (написал далее) и возвратить (например bool
)
Для чего это все надо:
1) Есть программа (сторонняя), которая генерирует(зашифровывает данные) ключ.
2) Ключ считывается с конфига (уже моей программы) ( в нем есть ограничение на использование софта, например максимальное количество пользователей).
3) В некоторых функциях я хотел бы запускать проверку (валидацию, которая бы проверила, можно ли добавить еще пользователя или нет.
4) т к функция постоянно однообразна, я бы хотел реализовать это атрибутом ( в данный момент это реализовано так: статический метод-расширение, который принимает в качестве аргумента метод (внутри сначала проверяет можно ли, и если да, то выполняет метод) ну и возвращает просто результат-обертку.
Почему взгляд пал на атрибуты: я подобную реализацию встречал на asp.net 4.6 (атрибут Authorize). если кто то может - объясните где искать принцип его работы.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Cannot modify header information - headers already sent by Ошибка при переадресации, после успешной авторизации
Ошибка: Fatal error: Uncaught Error: Call to a member function bind_param() on bool Что я сделал не так?
Я начинающий PHP разработчик,меня очень интересует данный язык, хочу заниматься в ближайшее время написанием скриптов и логики для сайтовНо...