子类是否从父类继承Quartz.net[PersistJobDataAfterExecution]属性
本文关键字:PersistJobDataAfterExecution 属性 net Quartz 是否 父类 继承 子类 | 更新日期: 2023-09-27 18:26:02
在Quartz.net中,如果我声明一个具有实现IJob接口的[PersistJobDataAfterExecution]
或[DisallowConcurrentExecution]
属性的类,那么继承该类的类也会继承这些属性吗?
[PersistJobDataAfterExecution]
[DisallowConcurrentExecution]
public abstract class ParentJob : IJob
{
//...
}
public class ChildJob : ParentJob
{
//...
}
那么,在上面的代码片段中,ChildJob
具有[PersistJobDataAfterExecution]
或[DisallowConcurrentExecution]
属性吗?
如果它们不是,我如何在不更改Quartz.net源代码的情况下使它们得到继承?
它们被继承,不是因为它们被定义为可继承,而是因为Quartz.net如何检查类上是否存在属性:
public static bool IsAttributePresent(Type typeToExamine, Type attributeType)
{
return typeToExamine.GetCustomAttributes(attributeType, true).Length > 0;
}
来源
在GetCustomAttributes(Type, bool)
中,bool
参数可以是:
true搜索该成员的继承链以查找属性;否则为false。对于属性和事件,将忽略此参数;请参阅备注。