Скажите, что я имею:
[Attribute1(Order=0)]
public class Controller1
{
[Attribute2]
[Attribute3]
public ActionResult Action1() { ... }
}
Атрибуты выполняются в следующем порядке: 2, 3, 1
Это имеет смысл, потому что атрибуты 2 и 3 имеют порядок-1 и будут выполняться перед атрибутом 1, который имеет явно установленный порядок, равный 0.
Теперь, позволяет, говорят, что я имею:
[Attribute1]
[Attribute2(Order=0)]
public class Controller1
{
[Attribute3]
public ActionResult Action1() { ... }
}
Атрибуты выполняются в следующем порядке: 1, 2, 3
То, почему это, которые приписывают 2 в этом случае (который имеет порядок, равный 0), выполняется перед атрибутом 3 (который имеет порядок, равный-1)?
Они должны выполняться в порядке 1, 3, 2, как вы и предлагали. На самом деле, на моей машине они выполняются в правильном порядке.
Можете ли вы дать определения ваших трех атрибутов? Здесь может быть что-то еще.