Можно ли создать пользовательский атрибут, при применении к методу будет выполняться метод в отдельном потоке - PullRequest
0 голосов
/ 04 февраля 2010

Можно ли создать пользовательский атрибут, когда он применяется к методу, который выполняет метод в отдельном потоке.

Класс А {

  [threaded]
  public void execute()
  {

  }

}

Основной ()

{ A obja = новый A (); obja.execute () // будет выполнять в новом потоке, если применяется атрибут [threadaded] } * +1010 *

Ответы [ 2 ]

1 голос
/ 04 февраля 2010

Вы можете использовать PostSharp для достижения этой цели.

0 голосов
/ 04 февраля 2010

Быстрый ответ: Нет.

Если вы создаете атрибут, среда выполнения не знает, что с ним делать (как это могло быть?).Ваш код может проверить и затем выполнить в пуле потоков (или в .NET 4 через Task), но вы должны будете всегда проверять.

.NET runtime (CLR) знает оатрибуты, о которых он знает, и может принимать решения о выполнении во время выполнения.(Как и компилятор, например, компилятор знает о ConditionalAttribute, чтобы разрешить условную компиляцию.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...