Вопрос

Скажи, что у меня есть:

[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, как вы предложили. И на самом деле они выполняют в правильном порядке на моей машине.

Можете ли вы дать определения ваших трех атрибутов? Здесь может быть что -то еще.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top