public PropertyContractResolver RenameProperty([NotNull] Type type, [NotNull] String property, [NotNull] String name) { if (type is null) { throw new ArgumentNullException(nameof(type)); } if (String.IsNullOrEmpty(property)) { throw new ArgumentException(@"Value cannot be null or empty.", nameof(property)); } if (String.IsNullOrWhiteSpace(name)) { throw new ArgumentException(@"Value cannot be null or whitespace.", nameof(name)); } if (!Rename.ContainsKey(type)) { Rename[type] = new Dictionary <String, String>(); } Rename[type][property] = name; return(this); }