我想编写一个 JsonConverter 它可以转换确定的属性类型,但仅取决于它们定义的类。
我正在通过 Web API 全局注册 JsonConverter:
var config = GlobalConfiguration.Configuration;
var jsonSettings = config.Formatters.JsonFormatter.SerializerSettings;
jsonSettings.Converters.Add(new SomeConverter());
例如,转换器可以转换 MyType 类型的对象。
public override bool CanConvert(Type objectType)
{
return typeof(MyType).IsAssignableFrom(objectType);
}
但现在我想控制是否应该使用转换器。
我是这样想的:
[IgnoreSomeConverter]
public class ClassA
{
public MyType PropMyType {get;set;}
}
public class ClassB
{
public MyType PropMyType {get;set;}
}
因此,我希望 SomeConverter 仅在未使用 CustomAttribute IgnoreSomeConverter 修饰的类中定义属性时才对属性 MyType 进行序列化和反序列化。在示例中,我想将转换器用于 ClassB,但不用于 ClassA。有什么想法吗?