Есть ли способ во время компиляции утверждать аргумент Func является статическим?C# Assert at compile time Аргумент Func является статическим
Это похоже на то, что компилятор может легко проверить, а не полагаться на отказ во время выполнения.
Я понимаю, что это может быть сделано во время выполнения с [аргумент] .Method.IsStatic
Приветствиях
Функция аргумента обрабатывает транзакцию с базой данных, которая может выйти из строя, если другой процесс одновременно пытается манипулировать данными. Я пишу обертку, чтобы она несколько раз пыталась выполнить попытку. Я бы хотел, чтобы функция аргумента не имела внешнего эффекта, если она терпит неудачу. – Hector
@ user2036256: Ну, требуя, чтобы это был статический метод, не является ни достаточным, ни необходимым для этого случая ... –
Я знаю. Но это шаг в правильном направлении. Его больше как дружеское напоминание. В идеальном мире классы, призывающие к этому, также были бы статичными, но нам нужно наследование. Это, по крайней мере, обеспечит применение методов в классе. – Hector