public static IMemberConfiguration <T, string> WithValidCharacters <T>(this IMemberConfiguration <T, string> @this) => @this.Alter(ValidContentCharacters.Default.Get);
public static IMemberConfiguration <T, TMember> Alter <T, TMember>(this IMemberConfiguration <T, TMember> @this, Func <TMember, TMember> read, Func <TMember, TMember> write) => @this.Alter(new DelegatedAlteration <TMember>(read), new DelegatedAlteration <TMember>(write));
/// <summary> /// Used to alter the value of a member whenever it is encountered during the serialization process. This can be used /// in scenarios where it is desired to know when a the value of a member is emitted (for logging purposes, /// etc.) or, more generally, to alter it in some way (scrubbing data, etc) before it is written to the external /// stream. You can consider this as a member value interception of the serialization pipeline. /// </summary> /// <typeparam name="T">The containing type under configuration.</typeparam> /// <typeparam name="TMember">The member's value type.</typeparam> /// <param name="this">The member configuration under configuration.</param> /// <param name="write">The alteration delegate to invoke on the member value when it is written.</param> /// <returns>The configured member configuration.</returns> public static IMemberConfiguration <T, TMember> Alter <T, TMember>(this IMemberConfiguration <T, TMember> @this, Func <TMember, TMember> write) => @this.Alter(Self.Of <TMember>(), write);