Refactor WriteValueGenerated for clarity and efficiency
Update WriteValueGenerated to require non-null values and call WriteValueNonPrimitive directly, clarifying its use for complex types in generated writers. Improve XML docs to reflect new behavior and intent.
This commit is contained in:
parent
4ef65ee501
commit
12b3244aa3
|
|
@ -470,14 +470,15 @@ public static partial class AcBinarySerializer
|
||||||
#region Generated Writer Bridge Methods
|
#region Generated Writer Bridge Methods
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Bridge for generated writers to call the runtime WriteValue for complex/collection properties.
|
/// Bridge for generated writers: writes a non-null complex/collection value directly.
|
||||||
/// Generated writers handle primitives directly; complex types delegate here.
|
/// Skips null check (caller handles it) and TryWritePrimitive (caller knows it's complex).
|
||||||
|
/// Equivalent to the runtime's WriteValueNonPrimitive path.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||||
internal static void WriteValueGenerated<TOutput>(object? value, Type type, BinarySerializationContext<TOutput> context, int depth)
|
internal static void WriteValueGenerated<TOutput>(object value, Type type, BinarySerializationContext<TOutput> context, int depth)
|
||||||
where TOutput : struct, IBinaryOutputBase
|
where TOutput : struct, IBinaryOutputBase
|
||||||
{
|
{
|
||||||
WriteValue(value, type, context, depth);
|
WriteValueNonPrimitive(value, type, context, depth);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue