Class ContractResolverExtensions
- Namespace
- Codebelt.Extensions.Newtonsoft.Json.Serialization
- Assembly
- Codebelt.Extensions.Newtonsoft.Json.dll
Extension methods for the Newtonsoft.Json.Serialization.IContractResolver interface.
public static class ContractResolverExtensions
- Inheritance
-
ContractResolverExtensions
Examples
The following example resolves or provides a default naming strategy from a contract resolver.
using System;
using Codebelt.Extensions.Newtonsoft.Json.Serialization;
using Newtonsoft.Json.Serialization;
namespace Examples;
class ContractResolverExtensionsExample
{
static void Main()
{
var resolver = new DefaultContractResolver();
var namingStrategy = resolver.ResolveNamingStrategyOrDefault();
Console.WriteLine($"Naming strategy type: {namingStrategy.GetType().Name}");
var converted = namingStrategy.GetPropertyName("UserName", false);
Console.WriteLine($"UserName converted to: {converted}");
}
}
Methods
ResolveNamingStrategyOrDefault(IContractResolver)
Resolves the Newtonsoft.Json.Serialization.NamingStrategy from the specified contractResolver when possible; otherwise a default Newtonsoft.Json.Serialization.NamingStrategy implementation is provided based on context.
Eg. for Newtonsoft.Json.Serialization.DefaultContractResolver an instance of Newtonsoft.Json.Serialization.DefaultNamingStrategy is returned; for all other cases an instance of Newtonsoft.Json.Serialization.CamelCaseNamingStrategy is returned.
public static NamingStrategy ResolveNamingStrategyOrDefault(this IContractResolver contractResolver)
Parameters
contractResolverIContractResolverThe Newtonsoft.Json.Serialization.IContractResolver to resolve a Newtonsoft.Json.Serialization.NamingStrategy from.
Returns
- NamingStrategy
An instance of Newtonsoft.Json.Serialization.NamingStrategy.