子类是否从父类继承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[PersistJobDataAfterExecution]属性

它们被继承,不是因为它们被定义为可继承,而是因为Quartz.net如何检查类上是否存在属性:

public static bool IsAttributePresent(Type typeToExamine, Type attributeType)
{
    return typeToExamine.GetCustomAttributes(attributeType, true).Length > 0;
}

来源

GetCustomAttributes(Type, bool)中,bool参数可以是:

true搜索该成员的继承链以查找属性;否则为false。对于属性和事件,将忽略此参数;请参阅备注。

相关文章:
  • 没有找到相关文章