是否可以创建自定义属性,当应用于方法时,将在单独的线程中执行该方法。
A类 {
[threaded]
public void execute()
{
}
}
main()的
{ 一个obja = new A(); 如果应用[threaded]属性,obja.execute()//将在新线程中执行 }
答案 0 :(得分:1)
您可以使用PostSharp来实现此目标。
答案 1 :(得分:0)
快速回答:否。
如果创建属性,运行时不知道如何处理它(怎么可能?)。您的代码可以检查然后在线程池中执行(或在.NET 4中,通过Task
执行),但您必须确保始终检查。
.NET运行时(CLR)知道它所知道的属性,并可以在运行时做出执行决策。 (编译器也是如此,例如编译器知道ConditionalAttribute
允许条件编译。)