是否可以创建自定义属性,当应用于方法时,将在单独的线程中执行该方法

时间:2010-02-04 09:29:49

标签: .net attributes

是否可以创建自定义属性,当应用于方法时,将在单独的线程中执行该方法。

A类 {

  [threaded]
  public void execute()
  {

  }

}

main()的

{ 一个obja = new A(); 如果应用[threaded]属性,obja.execute()//将在新线程中执行 }

2 个答案:

答案 0 :(得分:1)

您可以使用PostSharp来实现此目标。

答案 1 :(得分:0)

快速回答:否。

如果创建属性,运行时不知道如何处理它(怎么可能?)。您的代码可以检查然后在线程池中执行(或在.NET 4中,通过Task执行),但您必须确保始终检查。

.NET运行时(CLR)知道它所知道的属性,并可以在运行时做出执行决策。 (编译器也是如此,例如编译器知道ConditionalAttribute允许条件编译。)