【发布时间】:2014-01-22 18:20:16
【问题描述】:
我为线程同步创建了一个类,我想将其应用于方法、类、属性等,而无需将我的代码插入每个函数、类等。这是我必须执行的当前实现的一个示例:
public class NotWhatIWantExample
{
LockingClass locker;
public int function()
{
locker.EnterWriteBlock();
if (condition)
{
locker.LeaveWriteBlock();
return 0;
}
locker.LeaveWriteBlock();
return 1;
}
}
如果可能的话,接下来是我想做的两个例子
示例 2:
// [LockingClassAttribute(LockingClassAttribute.WriteBlock)]
// Not Declared But Added Since Attribute Is Applied On A Method
public class WhatIWantExample
{
//LockingClass locker; Included In The Attribute
[LockingClassAttribute(LockingClassAttribute.WriteBlock)]public int function()
{
if (condition)
return 0;
}
}
示例 3:
[LockingClassAttribute(LockingClassAttribute.ReadWriteBlock)]
public class WhatIWantExample
{
//LockingClass locker; Included In The Attribute
//Function Would Override LockingClassAttribute.ReadWriteBlock
[LockingClassAttribute(LockingClassAttribute.WriteBlock)]public int function()
{
if (condition)
return 0;
return 1;
}
//Would Inherit [LockingClassAttribute(LockingClassAttribute.ReadWriteBlock)]
public int function2()
{
if (condition)
return 0;
return 1;
}
}
这可能吗?
【问题讨论】:
标签: c# compilation attributes word-wrap