忽略继承类中的[ScriptIgnore]属性

dor*_*ork 3 c# scriptignore

我有一个基类,其中属性具有ScriptIgnore属性:

public class Base
{
    public int Id { get; set; }

    [ScriptIgnore]
    public virtual string Name { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我还有另一个继承自Base类的类:

public class Inherting : Base
{
    public override string Name { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我尝试覆盖Name属性但它仍然没有被序列化.有没有办法覆盖ScriptIgnore属性(在inherting类中忽略它)?

Yai*_*vet 6

我尝试覆盖Name属性但它仍然没有被序列化.有没有办法覆盖ScriptIgnore属性(在inherting类中忽略它)?

使用ScriptIgnoreApplyToOverrides属性并将其设置为false:

[ScriptIgnore(ApplyToOverrides = false)]
public virtual string Name { get; set; }
Run Code Online (Sandbox Code Playgroud)

参考:ScriptIgnoreAttribute.ApplyToOverrides属性