From e5269fcaab69460b2b22f6e54e3406a3d8f25ee3 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 11 Sep 2026 23:32:45 +0000 Subject: [PATCH 1/2] Initial plan From 0963e8c6d3e71022f1b5c4bf511dd7ee0669955d Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 11 Sep 2026 23:49:38 +0000 Subject: [PATCH 2/2] perf(http-client-csharp): use raw UTF-8 helper throughout JSON deserialization Co-authored-by: JoshLove-msft <54595583+JoshLove-msft@users.noreply.github.com> --- .../MrwSerializationTypeDefinition.cs | 6 ++-- .../Providers/ScmMethodProviderCollection.cs | 2 +- .../MrwSerializationTypeDefinitionTests.cs | 26 +++++++++++---- .../DeserializationTests/DeserializeStruct.cs | 2 +- .../OptionalFileBinaryContentProperty.cs | 2 +- .../RequiredFileBinaryContentProperty.cs | 2 +- ...ationMillisecondsIntegerWireType(Int32).cs | 2 +- ...ationMillisecondsIntegerWireType(Int64).cs | 2 +- ...ionMillisecondsIntegerWireType(Integer).cs | 2 +- ...NestedDiscriminatorCastsToInterfaceType.cs | 2 +- .../DeserializeModelPropertyType.cs | 2 +- ...WithBinaryDataAdditionalPropsBackCompat.cs | 2 +- .../CanCustomizeBaseType.cs | 2 +- .../CanCustomizeEnumToFieldFrameworkType.cs | 2 +- .../CanCustomizeEnumToFrameworkType.cs | 2 +- .../CanCustomizeFixedEnumString.cs | 2 +- .../CanCustomizeGuidProperty.cs | 2 +- .../CanCustomizeNullableStringToFixedEnum.cs | 2 +- .../CanCustomizePropertyIntoReadOnlyMemory.cs | 2 +- .../CanCustomizeStringToFixedEnum.cs | 2 +- .../CanCustomizeUriProperty.cs | 2 +- ...sNotOverrideMethodsIfBaseTypeIsNotModel.cs | 2 +- .../GetUtf8BytesIsUsedForMrwFallback.cs | 2 +- ...xactNameModelSerializationUsesExactName.cs | 2 +- ...SerializationUsesExactName(deserialize).cs | 2 +- .../CanChangeDictionaryToBinaryData.cs | 4 +-- ...ngeListOfEnumPropToListOfExtensibleEnum.cs | 2 +- .../CanChangePropertyName.cs | 2 +- ...anChangePropertyNameAndRedefineOriginal.cs | 2 +- .../CanChangePropertySerializedName.cs | 2 +- ...stomizeDeserializationMethodWithOptions.cs | 2 +- ...mizeDeserializationMethodWithoutOptions.cs | 2 +- .../CanCustomizeExtensibleEnum(int32).cs | 2 +- .../CanCustomizeExtensibleEnum(string).cs | 2 +- ...CustomizeLiteralExtensibleEnum(int32,1).cs | 2 +- ...tomizeLiteralExtensibleEnum(string,foo).cs | 2 +- .../CanCustomizePropertyUsingField.cs | 2 +- .../CanCustomizeSerializationMethod.cs | 2 +- ...izeSerializationMethodForPropertyInBase.cs | 2 +- ...zeSerializationMethodForRenamedProperty.cs | 2 +- ...serveArrayEncodingForCustomizedProperty.cs | 2 +- .../CanReplaceSerializationMethod.cs | 2 +- .../ReadOnlyMemPropertyType.cs | 2 +- ...onaryOfValueTypeUsesJsonDoc(BinaryData).cs | 2 +- .../ListOfValueTypeUsesJsonDoc(BinaryData).cs | 2 +- .../ModelSerializationExtensionsTests.cs | 32 +++++++++++++++++++ .../src/Generated/Models/Dog.Serialization.cs | 2 +- .../Models/DynamicModel.Serialization.cs | 2 +- .../Generated/Models/Friend.Serialization.cs | 2 +- .../GetNotebookResponse.Serialization.cs | 2 +- .../GetWidgetMetricsResponse.Serialization.cs | 2 +- ...kenHeaderResponseResponse.Serialization.cs | 2 +- ...ContinuationTokenResponse.Serialization.cs | 2 +- .../ListWithNextLinkResponse.Serialization.cs | 2 +- ...ithStringNextLinkResponse.Serialization.cs | 2 +- ...EmbeddedNonBodyParameters.Serialization.cs | 2 +- ...equiredNullableProperties.Serialization.cs | 2 +- .../Models/PageThing.Serialization.cs | 2 +- .../RenamedModelCustom.Serialization.cs | 2 +- ...rnsAnonymousModelResponse.Serialization.cs | 2 +- .../Models/RoundTripModel.Serialization.cs | 14 ++++---- .../Models/StreamingItem.Serialization.cs | 2 +- .../Generated/Models/Thing.Serialization.cs | 4 +-- .../Generated/Models/Tree.Serialization.cs | 2 +- .../Models/UnknownAnimal.Serialization.cs | 2 +- .../Models/UnknownPet.Serialization.cs | 2 +- .../Models/UnknownPlant.Serialization.cs | 2 +- .../Generated/Models/Wrapper.Serialization.cs | 2 +- 68 files changed, 127 insertions(+), 83 deletions(-) diff --git a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/src/Providers/MrwSerializationTypeDefinition.cs b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/src/Providers/MrwSerializationTypeDefinition.cs index a21f31ffba6..5a19c692e73 100644 --- a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/src/Providers/MrwSerializationTypeDefinition.cs +++ b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/src/Providers/MrwSerializationTypeDefinition.cs @@ -2458,13 +2458,13 @@ internal static ValueExpression DeserializeJsonValueCore( Type t when t == typeof(BinaryData) => format is SerializationFormat.Bytes_Base64 or SerializationFormat.Bytes_Base64Url ? BinaryDataSnippets.FromBytes(element.GetBytesFromBase64(format.ToFormatSpecifier())) - : BinaryDataSnippets.FromString(element.GetRawText()), + : element.GetUtf8Bytes(), Type t when t == typeof(byte[]) => format is SerializationFormat.Bytes_Base64 or SerializationFormat.Bytes_Base64Url ? element.GetBytesFromBase64(format.ToFormatSpecifier()) - : BinaryDataSnippets.FromString(element.GetRawText()).ToArray(), + : element.GetUtf8Bytes().ToArray(), Type t when t == typeof(Stream) => - BinaryDataSnippets.FromString(element.GetRawText()).ToStream(), + element.GetUtf8Bytes().ToStream(), Type t when t == typeof(FileBinaryContent) => New.Instance(New.Instance(element.GetBytesFromBase64(), Literal(false))), Type t when t == typeof(JsonElement) => diff --git a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/src/Providers/ScmMethodProviderCollection.cs b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/src/Providers/ScmMethodProviderCollection.cs index fb0bb6e6025..09902a95c1a 100644 --- a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/src/Providers/ScmMethodProviderCollection.cs +++ b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/src/Providers/ScmMethodProviderCollection.cs @@ -764,7 +764,7 @@ private MethodBodyStatement GetElementConversion(CSharpType elementType, ScopedA return new IfElseStatement( item.ValueKind().Equal(JsonValueKindSnippets.Null), AddElement(dictKey, Null, value), - AddElement(dictKey, BinaryDataSnippets.FromString(item.GetRawText()), value)); + AddElement(dictKey, item.GetUtf8Bytes(), value)); } else { diff --git a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/MrwSerializationTypeDefinitionTests.cs b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/MrwSerializationTypeDefinitionTests.cs index 07d552ce406..2bf1c5a2564 100644 --- a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/MrwSerializationTypeDefinitionTests.cs +++ b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/MrwSerializationTypeDefinitionTests.cs @@ -1568,8 +1568,10 @@ public void TestSerializationOfBinaryDataPropertyAvoidsCopy(bool useBase64Url, s Assert.AreEqual(Helpers.GetExpectedFromFile(format), methodBody); } - [Test] - public void TestDeserializationOfNonBase64ByteArrayPropertyUsesGetRawText() + [TestCase(typeof(BinaryData))] + [TestCase(typeof(byte[]))] + [TestCase(typeof(System.IO.Stream))] + public void TestDeserializationOfNonBase64PropertyUsesGetUtf8Bytes(Type propertyType) { var bytesNoEncoding = new InputPrimitiveType(InputPrimitiveTypeKind.Bytes, "bytes", "TypeSpec.bytes"); var inputModel = InputFactory.Model("TestModel", properties: @@ -1580,7 +1582,7 @@ public void TestDeserializationOfNonBase64ByteArrayPropertyUsesGetRawText() createSerializationsCore: (inputType, typeProvider) => inputType is InputModelType modelType ? [new MrwSerializationTypeDefinition(modelType, (typeProvider as ModelProvider)!)] : [], createCSharpTypeCore: (inputType) => inputType is InputPrimitiveType { Kind: InputPrimitiveTypeKind.Bytes } - ? new CSharpType(typeof(byte[])) + ? new CSharpType(propertyType) : null!, createCSharpTypeCoreFallback: (inputType) => inputType is InputPrimitiveType { Kind: InputPrimitiveTypeKind.Bytes }); @@ -1591,10 +1593,20 @@ public void TestDeserializationOfNonBase64ByteArrayPropertyUsesGetRawText() var deserializationMethod = serialization!.BuildDeserializationMethod(); var methodBody = deserializationMethod!.BodyStatements!.ToDisplayString(); - Assert.IsTrue(methodBody.Contains("GetRawText"), - $"byte[] property with no encoding should use GetRawText() fallback. Actual:\n{methodBody}"); - Assert.IsTrue(methodBody.Contains("ToArray"), - $"byte[] property with no encoding should call ToArray(). Actual:\n{methodBody}"); + Assert.IsTrue(methodBody.Contains("GetUtf8Bytes"), + $"Property with no encoding should use GetUtf8Bytes(). Actual:\n{methodBody}"); + Assert.IsFalse(methodBody.Contains("GetRawText"), + $"Property with no encoding should not transcode raw JSON. Actual:\n{methodBody}"); + if (propertyType == typeof(byte[])) + { + Assert.IsTrue(methodBody.Contains("ToArray"), + $"byte[] property with no encoding should call ToArray(). Actual:\n{methodBody}"); + } + else if (propertyType == typeof(System.IO.Stream)) + { + Assert.IsTrue(methodBody.Contains("ToStream"), + $"Stream property with no encoding should call ToStream(). Actual:\n{methodBody}"); + } Assert.IsFalse(methodBody.Contains("EnumerateArray"), $"byte[] property should not use array enumeration. Actual:\n{methodBody}"); } diff --git a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/DeserializationTests/DeserializeStruct.cs b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/DeserializationTests/DeserializeStruct.cs index 7cce1f970ea..7ae2d178daf 100644 --- a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/DeserializationTests/DeserializeStruct.cs +++ b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/DeserializationTests/DeserializeStruct.cs @@ -29,7 +29,7 @@ namespace Sample.Models } if ((options.Format != "W")) { - additionalBinaryDataProperties.Add(prop.Name, global::System.BinaryData.FromString(prop.Value.GetRawText())); + additionalBinaryDataProperties.Add(prop.Name, prop.Value.GetUtf8Bytes()); } } return new global::Sample.Models.TestModel(stringProperty, additionalBinaryDataProperties); diff --git a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/DeserializationTests/OptionalFileBinaryContentProperty.cs b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/DeserializationTests/OptionalFileBinaryContentProperty.cs index 5003ddf2457..461ed7b64d3 100644 --- a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/DeserializationTests/OptionalFileBinaryContentProperty.cs +++ b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/DeserializationTests/OptionalFileBinaryContentProperty.cs @@ -36,7 +36,7 @@ public partial class TestModel : global::System.ClientModel.Primitives.IJsonMode } if ((options.Format != "W")) { - additionalBinaryDataProperties.Add(prop.Name, global::System.BinaryData.FromString(prop.Value.GetRawText())); + additionalBinaryDataProperties.Add(prop.Name, prop.Value.GetUtf8Bytes()); } } return new global::Sample.Models.TestModel(profileImage, additionalBinaryDataProperties); diff --git a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/DeserializationTests/RequiredFileBinaryContentProperty.cs b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/DeserializationTests/RequiredFileBinaryContentProperty.cs index c08affa03ae..c505e05e066 100644 --- a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/DeserializationTests/RequiredFileBinaryContentProperty.cs +++ b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/DeserializationTests/RequiredFileBinaryContentProperty.cs @@ -32,7 +32,7 @@ public partial class TestModel : global::System.ClientModel.Primitives.IJsonMode } if ((options.Format != "W")) { - additionalBinaryDataProperties.Add(prop.Name, global::System.BinaryData.FromString(prop.Value.GetRawText())); + additionalBinaryDataProperties.Add(prop.Name, prop.Value.GetUtf8Bytes()); } } return new global::Sample.Models.TestModel(profileImage, additionalBinaryDataProperties); diff --git a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/DeserializationTests/TestDeserializationOfDurationMillisecondsIntegerWireType(Int32).cs b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/DeserializationTests/TestDeserializationOfDurationMillisecondsIntegerWireType(Int32).cs index 0e95712e3cc..74a472f8775 100644 --- a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/DeserializationTests/TestDeserializationOfDurationMillisecondsIntegerWireType(Int32).cs +++ b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/DeserializationTests/TestDeserializationOfDurationMillisecondsIntegerWireType(Int32).cs @@ -29,7 +29,7 @@ public partial class TestModel : global::System.ClientModel.Primitives.IJsonMode } if ((options.Format != "W")) { - additionalBinaryDataProperties.Add(prop.Name, global::System.BinaryData.FromString(prop.Value.GetRawText())); + additionalBinaryDataProperties.Add(prop.Name, prop.Value.GetUtf8Bytes()); } } return new global::Sample.Models.TestModel(audioEndMs, additionalBinaryDataProperties); diff --git a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/DeserializationTests/TestDeserializationOfDurationMillisecondsIntegerWireType(Int64).cs b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/DeserializationTests/TestDeserializationOfDurationMillisecondsIntegerWireType(Int64).cs index 436aabc3d3f..501e486e189 100644 --- a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/DeserializationTests/TestDeserializationOfDurationMillisecondsIntegerWireType(Int64).cs +++ b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/DeserializationTests/TestDeserializationOfDurationMillisecondsIntegerWireType(Int64).cs @@ -29,7 +29,7 @@ public partial class TestModel : global::System.ClientModel.Primitives.IJsonMode } if ((options.Format != "W")) { - additionalBinaryDataProperties.Add(prop.Name, global::System.BinaryData.FromString(prop.Value.GetRawText())); + additionalBinaryDataProperties.Add(prop.Name, prop.Value.GetUtf8Bytes()); } } return new global::Sample.Models.TestModel(audioEndMs, additionalBinaryDataProperties); diff --git a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/DeserializationTests/TestDeserializationOfDurationMillisecondsIntegerWireType(Integer).cs b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/DeserializationTests/TestDeserializationOfDurationMillisecondsIntegerWireType(Integer).cs index 436aabc3d3f..501e486e189 100644 --- a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/DeserializationTests/TestDeserializationOfDurationMillisecondsIntegerWireType(Integer).cs +++ b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/DeserializationTests/TestDeserializationOfDurationMillisecondsIntegerWireType(Integer).cs @@ -29,7 +29,7 @@ public partial class TestModel : global::System.ClientModel.Primitives.IJsonMode } if ((options.Format != "W")) { - additionalBinaryDataProperties.Add(prop.Name, global::System.BinaryData.FromString(prop.Value.GetRawText())); + additionalBinaryDataProperties.Add(prop.Name, prop.Value.GetUtf8Bytes()); } } return new global::Sample.Models.TestModel(audioEndMs, additionalBinaryDataProperties); diff --git a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/DiscriminatorTests/TestUnknownNestedDiscriminatorCastsToInterfaceType.cs b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/DiscriminatorTests/TestUnknownNestedDiscriminatorCastsToInterfaceType.cs index 71fdddba855..35f2ff31a60 100644 --- a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/DiscriminatorTests/TestUnknownNestedDiscriminatorCastsToInterfaceType.cs +++ b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/DiscriminatorTests/TestUnknownNestedDiscriminatorCastsToInterfaceType.cs @@ -108,7 +108,7 @@ protected override void JsonModelWriteCore(global::System.Text.Json.Utf8JsonWrit } if ((options.Format != "W")) { - additionalBinaryDataProperties.Add(prop.Name, global::System.BinaryData.FromString(prop.Value.GetRawText())); + additionalBinaryDataProperties.Add(prop.Name, prop.Value.GetUtf8Bytes()); } } return new global::Sample.Models.UnknownTree(plantType, name, additionalBinaryDataProperties, treeType); diff --git a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/DynamicModelSerializationTests/DeserializeModelPropertyType.cs b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/DynamicModelSerializationTests/DeserializeModelPropertyType.cs index 2c5a3a90f8f..cb16b0ef8f5 100644 --- a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/DynamicModelSerializationTests/DeserializeModelPropertyType.cs +++ b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/DynamicModelSerializationTests/DeserializeModelPropertyType.cs @@ -36,7 +36,7 @@ public partial class DynamicModel } if (prop.NameEquals("anything"u8)) { - anything = global::System.BinaryData.FromString(prop.Value.GetRawText()); + anything = prop.Value.GetUtf8Bytes(); continue; } patch.Set([.. "$."u8, .. global::System.Text.Encoding.UTF8.GetBytes(prop.Name)], prop.Value.GetUtf8Bytes()); diff --git a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/DynamicModelSerializationTests/DeserializeModelWithBinaryDataAdditionalPropsBackCompat.cs b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/DynamicModelSerializationTests/DeserializeModelWithBinaryDataAdditionalPropsBackCompat.cs index f796749b994..31a0c942ffc 100644 --- a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/DynamicModelSerializationTests/DeserializeModelWithBinaryDataAdditionalPropsBackCompat.cs +++ b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/DynamicModelSerializationTests/DeserializeModelWithBinaryDataAdditionalPropsBackCompat.cs @@ -30,7 +30,7 @@ public partial class DynamicModel p1 = prop.Value.GetString(); continue; } - additionalProperties.Add(prop.Name, global::System.BinaryData.FromString(prop.Value.GetRawText())); + additionalProperties.Add(prop.Name, prop.Value.GetUtf8Bytes()); } return new global::Sample.Models.DynamicModel(p1, additionalProperties, patch); } diff --git a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/ModelCustomizationTests/CanCustomizeBaseType.cs b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/ModelCustomizationTests/CanCustomizeBaseType.cs index 35b533bcbe7..3955da36669 100644 --- a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/ModelCustomizationTests/CanCustomizeBaseType.cs +++ b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/ModelCustomizationTests/CanCustomizeBaseType.cs @@ -92,7 +92,7 @@ protected override void JsonModelWriteCore(global::System.Text.Json.Utf8JsonWrit } if ((options.Format != "W")) { - additionalBinaryDataProperties.Add(prop.Name, global::System.BinaryData.FromString(prop.Value.GetRawText())); + additionalBinaryDataProperties.Add(prop.Name, prop.Value.GetUtf8Bytes()); } } return new global::Sample.Models.MockInputModel(prop1, additionalBinaryDataProperties); diff --git a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/ModelCustomizationTests/CanCustomizeEnumToFieldFrameworkType.cs b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/ModelCustomizationTests/CanCustomizeEnumToFieldFrameworkType.cs index 62f66ef21d5..859a22e7ff8 100644 --- a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/ModelCustomizationTests/CanCustomizeEnumToFieldFrameworkType.cs +++ b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/ModelCustomizationTests/CanCustomizeEnumToFieldFrameworkType.cs @@ -115,7 +115,7 @@ protected virtual void JsonModelWriteCore(global::System.Text.Json.Utf8JsonWrite } if ((options.Format != "W")) { - additionalBinaryDataProperties.Add(prop.Name, global::System.BinaryData.FromString(prop.Value.GetRawText())); + additionalBinaryDataProperties.Add(prop.Name, prop.Value.GetUtf8Bytes()); } } return new global::Sample.Models.MockInputModel(prop1, additionalBinaryDataProperties); diff --git a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/ModelCustomizationTests/CanCustomizeEnumToFrameworkType.cs b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/ModelCustomizationTests/CanCustomizeEnumToFrameworkType.cs index f86bef73dc2..db0d383d71a 100644 --- a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/ModelCustomizationTests/CanCustomizeEnumToFrameworkType.cs +++ b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/ModelCustomizationTests/CanCustomizeEnumToFrameworkType.cs @@ -115,7 +115,7 @@ protected virtual void JsonModelWriteCore(global::System.Text.Json.Utf8JsonWrite } if ((options.Format != "W")) { - additionalBinaryDataProperties.Add(prop.Name, global::System.BinaryData.FromString(prop.Value.GetRawText())); + additionalBinaryDataProperties.Add(prop.Name, prop.Value.GetUtf8Bytes()); } } return new global::Sample.Models.MockInputModel(prop1, additionalBinaryDataProperties); diff --git a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/ModelCustomizationTests/CanCustomizeFixedEnumString.cs b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/ModelCustomizationTests/CanCustomizeFixedEnumString.cs index 3791351e95a..89f290a6b90 100644 --- a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/ModelCustomizationTests/CanCustomizeFixedEnumString.cs +++ b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/ModelCustomizationTests/CanCustomizeFixedEnumString.cs @@ -112,7 +112,7 @@ protected virtual void JsonModelWriteCore(global::System.Text.Json.Utf8JsonWrite } if ((options.Format != "W")) { - additionalBinaryDataProperties.Add(prop.Name, global::System.BinaryData.FromString(prop.Value.GetRawText())); + additionalBinaryDataProperties.Add(prop.Name, prop.Value.GetUtf8Bytes()); } } return new global::Sample.Models.MockInputModel(prop1, additionalBinaryDataProperties); diff --git a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/ModelCustomizationTests/CanCustomizeGuidProperty.cs b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/ModelCustomizationTests/CanCustomizeGuidProperty.cs index 2f0796c58a7..f503ec117a5 100644 --- a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/ModelCustomizationTests/CanCustomizeGuidProperty.cs +++ b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/ModelCustomizationTests/CanCustomizeGuidProperty.cs @@ -112,7 +112,7 @@ protected virtual void JsonModelWriteCore(global::System.Text.Json.Utf8JsonWrite } if ((options.Format != "W")) { - additionalBinaryDataProperties.Add(prop.Name, global::System.BinaryData.FromString(prop.Value.GetRawText())); + additionalBinaryDataProperties.Add(prop.Name, prop.Value.GetUtf8Bytes()); } } return new global::Sample.Models.MockInputModel(prop1, additionalBinaryDataProperties); diff --git a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/ModelCustomizationTests/CanCustomizeNullableStringToFixedEnum.cs b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/ModelCustomizationTests/CanCustomizeNullableStringToFixedEnum.cs index 3791351e95a..89f290a6b90 100644 --- a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/ModelCustomizationTests/CanCustomizeNullableStringToFixedEnum.cs +++ b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/ModelCustomizationTests/CanCustomizeNullableStringToFixedEnum.cs @@ -112,7 +112,7 @@ protected virtual void JsonModelWriteCore(global::System.Text.Json.Utf8JsonWrite } if ((options.Format != "W")) { - additionalBinaryDataProperties.Add(prop.Name, global::System.BinaryData.FromString(prop.Value.GetRawText())); + additionalBinaryDataProperties.Add(prop.Name, prop.Value.GetUtf8Bytes()); } } return new global::Sample.Models.MockInputModel(prop1, additionalBinaryDataProperties); diff --git a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/ModelCustomizationTests/CanCustomizePropertyIntoReadOnlyMemory.cs b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/ModelCustomizationTests/CanCustomizePropertyIntoReadOnlyMemory.cs index dd232a7bb81..aea87c28c2d 100644 --- a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/ModelCustomizationTests/CanCustomizePropertyIntoReadOnlyMemory.cs +++ b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/ModelCustomizationTests/CanCustomizePropertyIntoReadOnlyMemory.cs @@ -124,7 +124,7 @@ protected virtual void JsonModelWriteCore(global::System.Text.Json.Utf8JsonWrite } if ((options.Format != "W")) { - additionalBinaryDataProperties.Add(prop.Name, global::System.BinaryData.FromString(prop.Value.GetRawText())); + additionalBinaryDataProperties.Add(prop.Name, prop.Value.GetUtf8Bytes()); } } return new global::Sample.Models.MockInputModel(prop1, additionalBinaryDataProperties); diff --git a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/ModelCustomizationTests/CanCustomizeStringToFixedEnum.cs b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/ModelCustomizationTests/CanCustomizeStringToFixedEnum.cs index 3791351e95a..89f290a6b90 100644 --- a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/ModelCustomizationTests/CanCustomizeStringToFixedEnum.cs +++ b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/ModelCustomizationTests/CanCustomizeStringToFixedEnum.cs @@ -112,7 +112,7 @@ protected virtual void JsonModelWriteCore(global::System.Text.Json.Utf8JsonWrite } if ((options.Format != "W")) { - additionalBinaryDataProperties.Add(prop.Name, global::System.BinaryData.FromString(prop.Value.GetRawText())); + additionalBinaryDataProperties.Add(prop.Name, prop.Value.GetUtf8Bytes()); } } return new global::Sample.Models.MockInputModel(prop1, additionalBinaryDataProperties); diff --git a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/ModelCustomizationTests/CanCustomizeUriProperty.cs b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/ModelCustomizationTests/CanCustomizeUriProperty.cs index eafe4856187..aec5748f6ba 100644 --- a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/ModelCustomizationTests/CanCustomizeUriProperty.cs +++ b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/ModelCustomizationTests/CanCustomizeUriProperty.cs @@ -115,7 +115,7 @@ protected virtual void JsonModelWriteCore(global::System.Text.Json.Utf8JsonWrite } if ((options.Format != "W")) { - additionalBinaryDataProperties.Add(prop.Name, global::System.BinaryData.FromString(prop.Value.GetRawText())); + additionalBinaryDataProperties.Add(prop.Name, prop.Value.GetUtf8Bytes()); } } return new global::Sample.Models.MockInputModel(prop1, additionalBinaryDataProperties); diff --git a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/ModelCustomizationTests/DoesNotOverrideMethodsIfBaseTypeIsNotModel.cs b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/ModelCustomizationTests/DoesNotOverrideMethodsIfBaseTypeIsNotModel.cs index d70d70e277c..cb564942a6a 100644 --- a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/ModelCustomizationTests/DoesNotOverrideMethodsIfBaseTypeIsNotModel.cs +++ b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/ModelCustomizationTests/DoesNotOverrideMethodsIfBaseTypeIsNotModel.cs @@ -78,7 +78,7 @@ protected virtual void JsonModelWriteCore(global::System.Text.Json.Utf8JsonWrite } if ((options.Format != "W")) { - additionalBinaryDataProperties.Add(prop.Name, global::System.BinaryData.FromString(prop.Value.GetRawText())); + additionalBinaryDataProperties.Add(prop.Name, prop.Value.GetUtf8Bytes()); } } return new global::Sample.Models.MockInputModel(prop1, additionalBinaryDataProperties); diff --git a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/MrwSerializationTypeDefinitionTests/GetUtf8BytesIsUsedForMrwFallback.cs b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/MrwSerializationTypeDefinitionTests/GetUtf8BytesIsUsedForMrwFallback.cs index 0cd6864f675..6d17d61d137 100644 --- a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/MrwSerializationTypeDefinitionTests/GetUtf8BytesIsUsedForMrwFallback.cs +++ b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/MrwSerializationTypeDefinitionTests/GetUtf8BytesIsUsedForMrwFallback.cs @@ -17,7 +17,7 @@ } if ((options.Format != "W")) { - additionalBinaryDataProperties.Add(prop.Name, global::System.BinaryData.FromString(prop.Value.GetRawText())); + additionalBinaryDataProperties.Add(prop.Name, prop.Value.GetUtf8Bytes()); } } return new global::Sample.Models.MockInputModel(mockProperty, additionalBinaryDataProperties); diff --git a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/MrwSerializationTypeDefinitionTests/IsExactNameModelSerializationUsesExactName.cs b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/MrwSerializationTypeDefinitionTests/IsExactNameModelSerializationUsesExactName.cs index 881a921c15d..96e2ee31443 100644 --- a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/MrwSerializationTypeDefinitionTests/IsExactNameModelSerializationUsesExactName.cs +++ b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/MrwSerializationTypeDefinitionTests/IsExactNameModelSerializationUsesExactName.cs @@ -13,7 +13,7 @@ } if ((options.Format != "W")) { - additionalBinaryDataProperties.Add(prop.Name, global::System.BinaryData.FromString(prop.Value.GetRawText())); + additionalBinaryDataProperties.Add(prop.Name, prop.Value.GetUtf8Bytes()); } } return new global::Sample.Models.snake_case_model(name, additionalBinaryDataProperties); diff --git a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/MrwSerializationTypeDefinitionTests/IsExactNamePropertySerializationUsesExactName(deserialize).cs b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/MrwSerializationTypeDefinitionTests/IsExactNamePropertySerializationUsesExactName(deserialize).cs index 903070b5513..87df94243aa 100644 --- a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/MrwSerializationTypeDefinitionTests/IsExactNamePropertySerializationUsesExactName(deserialize).cs +++ b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/MrwSerializationTypeDefinitionTests/IsExactNamePropertySerializationUsesExactName(deserialize).cs @@ -13,7 +13,7 @@ } if ((options.Format != "W")) { - additionalBinaryDataProperties.Add(prop.Name, global::System.BinaryData.FromString(prop.Value.GetRawText())); + additionalBinaryDataProperties.Add(prop.Name, prop.Value.GetUtf8Bytes()); } } return new global::Sample.Models.MockInputModel(accessToken, additionalBinaryDataProperties); diff --git a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/SerializationCustomizationTests/CanChangeDictionaryToBinaryData.cs b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/SerializationCustomizationTests/CanChangeDictionaryToBinaryData.cs index 39469acce40..fa89469ea35 100644 --- a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/SerializationCustomizationTests/CanChangeDictionaryToBinaryData.cs +++ b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/SerializationCustomizationTests/CanChangeDictionaryToBinaryData.cs @@ -117,12 +117,12 @@ protected virtual void JsonModelWriteCore(global::System.Text.Json.Utf8JsonWrite { continue; } - prop1 = global::System.BinaryData.FromString(prop.Value.GetRawText()); + prop1 = prop.Value.GetUtf8Bytes(); continue; } if ((options.Format != "W")) { - additionalBinaryDataProperties.Add(prop.Name, global::System.BinaryData.FromString(prop.Value.GetRawText())); + additionalBinaryDataProperties.Add(prop.Name, prop.Value.GetUtf8Bytes()); } } return new global::Sample.Models.MockInputModel(prop1, additionalBinaryDataProperties); diff --git a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/SerializationCustomizationTests/CanChangeListOfEnumPropToListOfExtensibleEnum.cs b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/SerializationCustomizationTests/CanChangeListOfEnumPropToListOfExtensibleEnum.cs index 0fe6a5d2986..dc9fa5f1ad4 100644 --- a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/SerializationCustomizationTests/CanChangeListOfEnumPropToListOfExtensibleEnum.cs +++ b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/SerializationCustomizationTests/CanChangeListOfEnumPropToListOfExtensibleEnum.cs @@ -125,7 +125,7 @@ protected virtual void JsonModelWriteCore(global::System.Text.Json.Utf8JsonWrite } if ((options.Format != "W")) { - additionalBinaryDataProperties.Add(prop.Name, global::System.BinaryData.FromString(prop.Value.GetRawText())); + additionalBinaryDataProperties.Add(prop.Name, prop.Value.GetUtf8Bytes()); } } return new global::Sample.Models.Model((prop1 ?? new global::Sample.ChangeTrackingList()), additionalBinaryDataProperties); diff --git a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/SerializationCustomizationTests/CanChangePropertyName.cs b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/SerializationCustomizationTests/CanChangePropertyName.cs index 5fa1d41d2af..307d0d5be26 100644 --- a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/SerializationCustomizationTests/CanChangePropertyName.cs +++ b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/SerializationCustomizationTests/CanChangePropertyName.cs @@ -137,7 +137,7 @@ protected virtual void JsonModelWriteCore(global::System.Text.Json.Utf8JsonWrite } if ((options.Format != "W")) { - additionalBinaryDataProperties.Add(prop.Name, global::System.BinaryData.FromString(prop.Value.GetRawText())); + additionalBinaryDataProperties.Add(prop.Name, prop.Value.GetUtf8Bytes()); } } return new global::Sample.Models.Model(prop2, additionalBinaryDataProperties); diff --git a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/SerializationCustomizationTests/CanChangePropertyNameAndRedefineOriginal.cs b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/SerializationCustomizationTests/CanChangePropertyNameAndRedefineOriginal.cs index 9aa065327d2..c08bc2b677f 100644 --- a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/SerializationCustomizationTests/CanChangePropertyNameAndRedefineOriginal.cs +++ b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/SerializationCustomizationTests/CanChangePropertyNameAndRedefineOriginal.cs @@ -137,7 +137,7 @@ protected virtual void JsonModelWriteCore(global::System.Text.Json.Utf8JsonWrite } if ((options.Format != "W")) { - additionalBinaryDataProperties.Add(prop.Name, global::System.BinaryData.FromString(prop.Value.GetRawText())); + additionalBinaryDataProperties.Add(prop.Name, prop.Value.GetUtf8Bytes()); } } return new global::Sample.Models.MockInputModel(prop2, additionalBinaryDataProperties); diff --git a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/SerializationCustomizationTests/CanChangePropertySerializedName.cs b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/SerializationCustomizationTests/CanChangePropertySerializedName.cs index b7949359dbd..59ef26a3a08 100644 --- a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/SerializationCustomizationTests/CanChangePropertySerializedName.cs +++ b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/SerializationCustomizationTests/CanChangePropertySerializedName.cs @@ -133,7 +133,7 @@ protected virtual void JsonModelWriteCore(global::System.Text.Json.Utf8JsonWrite } if ((options.Format != "W")) { - additionalBinaryDataProperties.Add(prop.Name, global::System.BinaryData.FromString(prop.Value.GetRawText())); + additionalBinaryDataProperties.Add(prop.Name, prop.Value.GetUtf8Bytes()); } } return new global::Sample.Models.MockInputModel(name, customColor, flavor, additionalBinaryDataProperties); diff --git a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/SerializationCustomizationTests/CanCustomizeDeserializationMethodWithOptions.cs b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/SerializationCustomizationTests/CanCustomizeDeserializationMethodWithOptions.cs index 5b9e80782cf..6e7de3279e2 100644 --- a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/SerializationCustomizationTests/CanCustomizeDeserializationMethodWithOptions.cs +++ b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/SerializationCustomizationTests/CanCustomizeDeserializationMethodWithOptions.cs @@ -35,7 +35,7 @@ public partial class MockInputModel } if ((options.Format != "W")) { - additionalBinaryDataProperties.Add(prop.Name, global::System.BinaryData.FromString(prop.Value.GetRawText())); + additionalBinaryDataProperties.Add(prop.Name, prop.Value.GetUtf8Bytes()); } } return new global::Sample.Models.MockInputModel(prop1, prop2, additionalBinaryDataProperties); diff --git a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/SerializationCustomizationTests/CanCustomizeDeserializationMethodWithoutOptions.cs b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/SerializationCustomizationTests/CanCustomizeDeserializationMethodWithoutOptions.cs index 0a95ef91408..b957189b6f0 100644 --- a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/SerializationCustomizationTests/CanCustomizeDeserializationMethodWithoutOptions.cs +++ b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/SerializationCustomizationTests/CanCustomizeDeserializationMethodWithoutOptions.cs @@ -35,7 +35,7 @@ public partial class MockInputModel } if ((options.Format != "W")) { - additionalBinaryDataProperties.Add(prop.Name, global::System.BinaryData.FromString(prop.Value.GetRawText())); + additionalBinaryDataProperties.Add(prop.Name, prop.Value.GetUtf8Bytes()); } } return new global::Sample.Models.MockInputModel(prop1, prop2, additionalBinaryDataProperties); diff --git a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/SerializationCustomizationTests/CanCustomizeExtensibleEnum(int32).cs b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/SerializationCustomizationTests/CanCustomizeExtensibleEnum(int32).cs index bb6587546f2..6508038e686 100644 --- a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/SerializationCustomizationTests/CanCustomizeExtensibleEnum(int32).cs +++ b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/SerializationCustomizationTests/CanCustomizeExtensibleEnum(int32).cs @@ -112,7 +112,7 @@ protected virtual void JsonModelWriteCore(global::System.Text.Json.Utf8JsonWrite } if ((options.Format != "W")) { - additionalBinaryDataProperties.Add(prop.Name, global::System.BinaryData.FromString(prop.Value.GetRawText())); + additionalBinaryDataProperties.Add(prop.Name, prop.Value.GetUtf8Bytes()); } } return new global::Sample.Models.MockInputModel(prop1, additionalBinaryDataProperties); diff --git a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/SerializationCustomizationTests/CanCustomizeExtensibleEnum(string).cs b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/SerializationCustomizationTests/CanCustomizeExtensibleEnum(string).cs index 408d2df4d24..5435e4a2782 100644 --- a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/SerializationCustomizationTests/CanCustomizeExtensibleEnum(string).cs +++ b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/SerializationCustomizationTests/CanCustomizeExtensibleEnum(string).cs @@ -112,7 +112,7 @@ protected virtual void JsonModelWriteCore(global::System.Text.Json.Utf8JsonWrite } if ((options.Format != "W")) { - additionalBinaryDataProperties.Add(prop.Name, global::System.BinaryData.FromString(prop.Value.GetRawText())); + additionalBinaryDataProperties.Add(prop.Name, prop.Value.GetUtf8Bytes()); } } return new global::Sample.Models.MockInputModel(prop1, additionalBinaryDataProperties); diff --git a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/SerializationCustomizationTests/CanCustomizeLiteralExtensibleEnum(int32,1).cs b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/SerializationCustomizationTests/CanCustomizeLiteralExtensibleEnum(int32,1).cs index bb6587546f2..6508038e686 100644 --- a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/SerializationCustomizationTests/CanCustomizeLiteralExtensibleEnum(int32,1).cs +++ b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/SerializationCustomizationTests/CanCustomizeLiteralExtensibleEnum(int32,1).cs @@ -112,7 +112,7 @@ protected virtual void JsonModelWriteCore(global::System.Text.Json.Utf8JsonWrite } if ((options.Format != "W")) { - additionalBinaryDataProperties.Add(prop.Name, global::System.BinaryData.FromString(prop.Value.GetRawText())); + additionalBinaryDataProperties.Add(prop.Name, prop.Value.GetUtf8Bytes()); } } return new global::Sample.Models.MockInputModel(prop1, additionalBinaryDataProperties); diff --git a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/SerializationCustomizationTests/CanCustomizeLiteralExtensibleEnum(string,foo).cs b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/SerializationCustomizationTests/CanCustomizeLiteralExtensibleEnum(string,foo).cs index 408d2df4d24..5435e4a2782 100644 --- a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/SerializationCustomizationTests/CanCustomizeLiteralExtensibleEnum(string,foo).cs +++ b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/SerializationCustomizationTests/CanCustomizeLiteralExtensibleEnum(string,foo).cs @@ -112,7 +112,7 @@ protected virtual void JsonModelWriteCore(global::System.Text.Json.Utf8JsonWrite } if ((options.Format != "W")) { - additionalBinaryDataProperties.Add(prop.Name, global::System.BinaryData.FromString(prop.Value.GetRawText())); + additionalBinaryDataProperties.Add(prop.Name, prop.Value.GetUtf8Bytes()); } } return new global::Sample.Models.MockInputModel(prop1, additionalBinaryDataProperties); diff --git a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/SerializationCustomizationTests/CanCustomizePropertyUsingField.cs b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/SerializationCustomizationTests/CanCustomizePropertyUsingField.cs index f5152b14025..0fb18a91081 100644 --- a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/SerializationCustomizationTests/CanCustomizePropertyUsingField.cs +++ b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/SerializationCustomizationTests/CanCustomizePropertyUsingField.cs @@ -111,7 +111,7 @@ protected virtual void JsonModelWriteCore(global::System.Text.Json.Utf8JsonWrite } if ((options.Format != "W")) { - additionalBinaryDataProperties.Add(prop.Name, global::System.BinaryData.FromString(prop.Value.GetRawText())); + additionalBinaryDataProperties.Add(prop.Name, prop.Value.GetUtf8Bytes()); } } return new global::Sample.Models.MockInputModel(prop1, additionalBinaryDataProperties); diff --git a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/SerializationCustomizationTests/CanCustomizeSerializationMethod.cs b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/SerializationCustomizationTests/CanCustomizeSerializationMethod.cs index 57807408e48..b6c293a2924 100644 --- a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/SerializationCustomizationTests/CanCustomizeSerializationMethod.cs +++ b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/SerializationCustomizationTests/CanCustomizeSerializationMethod.cs @@ -122,7 +122,7 @@ protected virtual void JsonModelWriteCore(global::System.Text.Json.Utf8JsonWrite } if ((options.Format != "W")) { - additionalBinaryDataProperties.Add(prop.Name, global::System.BinaryData.FromString(prop.Value.GetRawText())); + additionalBinaryDataProperties.Add(prop.Name, prop.Value.GetUtf8Bytes()); } } return new global::Sample.Models.MockInputModel(prop1, prop2, additionalBinaryDataProperties); diff --git a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/SerializationCustomizationTests/CanCustomizeSerializationMethodForPropertyInBase.cs b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/SerializationCustomizationTests/CanCustomizeSerializationMethodForPropertyInBase.cs index 07b08ae624c..17ed1403128 100644 --- a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/SerializationCustomizationTests/CanCustomizeSerializationMethodForPropertyInBase.cs +++ b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/SerializationCustomizationTests/CanCustomizeSerializationMethodForPropertyInBase.cs @@ -104,7 +104,7 @@ protected override void JsonModelWriteCore(global::System.Text.Json.Utf8JsonWrit } if ((options.Format != "W")) { - additionalBinaryDataProperties.Add(prop.Name, global::System.BinaryData.FromString(prop.Value.GetRawText())); + additionalBinaryDataProperties.Add(prop.Name, prop.Value.GetUtf8Bytes()); } } return new global::Sample.Models.MockInputModel(prop1, additionalBinaryDataProperties, otherProp); diff --git a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/SerializationCustomizationTests/CanCustomizeSerializationMethodForRenamedProperty.cs b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/SerializationCustomizationTests/CanCustomizeSerializationMethodForRenamedProperty.cs index c01446428d7..c35304be147 100644 --- a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/SerializationCustomizationTests/CanCustomizeSerializationMethodForRenamedProperty.cs +++ b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/SerializationCustomizationTests/CanCustomizeSerializationMethodForRenamedProperty.cs @@ -122,7 +122,7 @@ protected virtual void JsonModelWriteCore(global::System.Text.Json.Utf8JsonWrite } if ((options.Format != "W")) { - additionalBinaryDataProperties.Add(prop.Name, global::System.BinaryData.FromString(prop.Value.GetRawText())); + additionalBinaryDataProperties.Add(prop.Name, prop.Value.GetUtf8Bytes()); } } return new global::Sample.Models.MockInputModel(prop1, prop3, additionalBinaryDataProperties); diff --git a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/SerializationCustomizationTests/CanPreserveArrayEncodingForCustomizedProperty.cs b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/SerializationCustomizationTests/CanPreserveArrayEncodingForCustomizedProperty.cs index 2d18b87d28f..c4f9c3481e2 100644 --- a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/SerializationCustomizationTests/CanPreserveArrayEncodingForCustomizedProperty.cs +++ b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/SerializationCustomizationTests/CanPreserveArrayEncodingForCustomizedProperty.cs @@ -63,7 +63,7 @@ protected virtual void JsonModelWriteCore(global::System.Text.Json.Utf8JsonWrite } if ((options.Format != "W")) { - additionalBinaryDataProperties.Add(prop.Name, global::System.BinaryData.FromString(prop.Value.GetRawText())); + additionalBinaryDataProperties.Add(prop.Name, prop.Value.GetUtf8Bytes()); } } return new global::Sample.Models.Model((prop2 ?? new global::Sample.ChangeTrackingList()), additionalBinaryDataProperties); diff --git a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/SerializationCustomizationTests/CanReplaceSerializationMethod.cs b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/SerializationCustomizationTests/CanReplaceSerializationMethod.cs index 43c0bccdd13..20c13b2acf6 100644 --- a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/SerializationCustomizationTests/CanReplaceSerializationMethod.cs +++ b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/SerializationCustomizationTests/CanReplaceSerializationMethod.cs @@ -93,7 +93,7 @@ public partial class MockInputModel : global::System.ClientModel.Primitives.IJso } if ((options.Format != "W")) { - additionalBinaryDataProperties.Add(prop.Name, global::System.BinaryData.FromString(prop.Value.GetRawText())); + additionalBinaryDataProperties.Add(prop.Name, prop.Value.GetUtf8Bytes()); } } return new global::Sample.Models.MockInputModel(prop1, prop2, additionalBinaryDataProperties); diff --git a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/SerializationCustomizationTests/ReadOnlyMemPropertyType.cs b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/SerializationCustomizationTests/ReadOnlyMemPropertyType.cs index 792b95a463e..aa23abbdf0c 100644 --- a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/SerializationCustomizationTests/ReadOnlyMemPropertyType.cs +++ b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/MrwSerializationTypeDefinitions/TestData/SerializationCustomizationTests/ReadOnlyMemPropertyType.cs @@ -151,7 +151,7 @@ protected virtual void JsonModelWriteCore(global::System.Text.Json.Utf8JsonWrite } if ((options.Format != "W")) { - additionalBinaryDataProperties.Add(prop.Name, global::System.BinaryData.FromString(prop.Value.GetRawText())); + additionalBinaryDataProperties.Add(prop.Name, prop.Value.GetUtf8Bytes()); } } return new global::Sample.Models.Model(newProp1, newProp2, additionalBinaryDataProperties); diff --git a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/TestData/ScmMethodProviderCollectionTests/DictionaryOfValueTypeUsesJsonDoc(BinaryData).cs b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/TestData/ScmMethodProviderCollectionTests/DictionaryOfValueTypeUsesJsonDoc(BinaryData).cs index b1f8fe96817..174e113d165 100644 --- a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/TestData/ScmMethodProviderCollectionTests/DictionaryOfValueTypeUsesJsonDoc(BinaryData).cs +++ b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/TestData/ScmMethodProviderCollectionTests/DictionaryOfValueTypeUsesJsonDoc(BinaryData).cs @@ -10,7 +10,7 @@ } else { - value.Add(item.Name, global::System.BinaryData.FromString(item.Value.GetRawText())); + value.Add(item.Name, item.Value.GetUtf8Bytes()); } } return global::System.ClientModel.ClientResult.FromValue(((global::System.Collections.Generic.IReadOnlyDictionary)value), result.GetRawResponse()); diff --git a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/TestData/ScmMethodProviderCollectionTests/ListOfValueTypeUsesJsonDoc(BinaryData).cs b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/TestData/ScmMethodProviderCollectionTests/ListOfValueTypeUsesJsonDoc(BinaryData).cs index 474c81cb766..3e3ea202049 100644 --- a/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/TestData/ScmMethodProviderCollectionTests/ListOfValueTypeUsesJsonDoc(BinaryData).cs +++ b/packages/http-client-csharp/generator/Microsoft.TypeSpec.Generator.ClientModel/test/Providers/TestData/ScmMethodProviderCollectionTests/ListOfValueTypeUsesJsonDoc(BinaryData).cs @@ -10,7 +10,7 @@ } else { - value.Add(global::System.BinaryData.FromString(item.GetRawText())); + value.Add(item.GetUtf8Bytes()); } } return global::System.ClientModel.ClientResult.FromValue(((global::System.Collections.Generic.IReadOnlyList)value), result.GetRawResponse()); diff --git a/packages/http-client-csharp/generator/TestProjects/Local.Tests/ModelSerializationExtensionsTests.cs b/packages/http-client-csharp/generator/TestProjects/Local.Tests/ModelSerializationExtensionsTests.cs index ba7891736df..276d7571d6a 100644 --- a/packages/http-client-csharp/generator/TestProjects/Local.Tests/ModelSerializationExtensionsTests.cs +++ b/packages/http-client-csharp/generator/TestProjects/Local.Tests/ModelSerializationExtensionsTests.cs @@ -13,6 +13,38 @@ namespace TestProjects.Local.Tests { public class ModelSerializationExtensionsTests { + [TestCase("{ \"text\": \"こんにちは 🌍\", \"escaped\": \"\\u0061\" }")] + [TestCase("[1, true, null, {\"nested\": []}]")] + [TestCase("\"hello\"")] + [TestCase("1.2300e+10")] + [TestCase("null")] + public void GetUtf8BytesPreservesRawJsonAfterDocumentIsDisposed(string json) + { + BinaryData data; + using (var document = JsonDocument.Parse($"{{\"value\":{json}}}")) + { + data = document.RootElement.GetProperty("value").GetUtf8Bytes(); + } + + CollectionAssert.AreEqual(Encoding.UTF8.GetBytes(json), data.ToArray()); + } + + [Test] + public void GetUtf8BytesRejectsUndefinedElement() + { + Assert.Throws(() => default(JsonElement).GetUtf8Bytes()); + } + + [Test] + public void GetUtf8BytesRejectsDisposedDocument() + { + var document = JsonDocument.Parse("{}"); + var element = document.RootElement; + document.Dispose(); + + Assert.Throws(() => element.GetUtf8Bytes()); + } + [TestCase(0, "D")] [TestCase(1, "D")] [TestCase(2, "D")] diff --git a/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/src/Generated/Models/Dog.Serialization.cs b/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/src/Generated/Models/Dog.Serialization.cs index 552a00748d7..1847d7df606 100644 --- a/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/src/Generated/Models/Dog.Serialization.cs +++ b/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/src/Generated/Models/Dog.Serialization.cs @@ -156,7 +156,7 @@ internal static Dog DeserializeDog(JsonElement element, ModelReaderWriterOptions } if (options.Format != "W") { - additionalBinaryDataProperties.Add(prop.Name, BinaryData.FromString(prop.Value.GetRawText())); + additionalBinaryDataProperties.Add(prop.Name, prop.Value.GetUtf8Bytes()); } } return new Dog(kind, name, additionalBinaryDataProperties, trained, breed); diff --git a/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/src/Generated/Models/DynamicModel.Serialization.cs b/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/src/Generated/Models/DynamicModel.Serialization.cs index f8fdffb9ba7..b8ae775f896 100644 --- a/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/src/Generated/Models/DynamicModel.Serialization.cs +++ b/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/src/Generated/Models/DynamicModel.Serialization.cs @@ -541,7 +541,7 @@ internal static DynamicModel DeserializeDynamicModel(JsonElement element, Binary { continue; } - optionalUnknown = BinaryData.FromString(prop.Value.GetRawText()); + optionalUnknown = prop.Value.GetUtf8Bytes(); continue; } if (prop.NameEquals("optionalInt"u8)) diff --git a/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/src/Generated/Models/Friend.Serialization.cs b/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/src/Generated/Models/Friend.Serialization.cs index eb5a160122a..b973e4b76e0 100644 --- a/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/src/Generated/Models/Friend.Serialization.cs +++ b/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/src/Generated/Models/Friend.Serialization.cs @@ -153,7 +153,7 @@ internal static Friend DeserializeFriend(JsonElement element, ModelReaderWriterO } if (options.Format != "W") { - additionalBinaryDataProperties.Add(prop.Name, BinaryData.FromString(prop.Value.GetRawText())); + additionalBinaryDataProperties.Add(prop.Name, prop.Value.GetUtf8Bytes()); } } return new Friend(name, additionalBinaryDataProperties); diff --git a/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/src/Generated/Models/GetNotebookResponse.Serialization.cs b/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/src/Generated/Models/GetNotebookResponse.Serialization.cs index 9c34abe0624..78120dd38a3 100644 --- a/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/src/Generated/Models/GetNotebookResponse.Serialization.cs +++ b/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/src/Generated/Models/GetNotebookResponse.Serialization.cs @@ -150,7 +150,7 @@ internal static GetNotebookResponse DeserializeGetNotebookResponse(JsonElement e } if (options.Format != "W") { - additionalBinaryDataProperties.Add(prop.Name, BinaryData.FromString(prop.Value.GetRawText())); + additionalBinaryDataProperties.Add(prop.Name, prop.Value.GetUtf8Bytes()); } } return new GetNotebookResponse(name, content, additionalBinaryDataProperties); diff --git a/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/src/Generated/Models/GetWidgetMetricsResponse.Serialization.cs b/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/src/Generated/Models/GetWidgetMetricsResponse.Serialization.cs index 166e38e991e..a0c21a889d3 100644 --- a/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/src/Generated/Models/GetWidgetMetricsResponse.Serialization.cs +++ b/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/src/Generated/Models/GetWidgetMetricsResponse.Serialization.cs @@ -150,7 +150,7 @@ internal static GetWidgetMetricsResponse DeserializeGetWidgetMetricsResponse(Jso } if (options.Format != "W") { - additionalBinaryDataProperties.Add(prop.Name, BinaryData.FromString(prop.Value.GetRawText())); + additionalBinaryDataProperties.Add(prop.Name, prop.Value.GetUtf8Bytes()); } } return new GetWidgetMetricsResponse(numSold, averagePrice, additionalBinaryDataProperties); diff --git a/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/src/Generated/Models/ListWithContinuationTokenHeaderResponseResponse.Serialization.cs b/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/src/Generated/Models/ListWithContinuationTokenHeaderResponseResponse.Serialization.cs index 2ebf7fbba85..62581e9ac00 100644 --- a/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/src/Generated/Models/ListWithContinuationTokenHeaderResponseResponse.Serialization.cs +++ b/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/src/Generated/Models/ListWithContinuationTokenHeaderResponseResponse.Serialization.cs @@ -152,7 +152,7 @@ internal static ListWithContinuationTokenHeaderResponseResponse DeserializeListW } if (options.Format != "W") { - additionalBinaryDataProperties.Add(prop.Name, BinaryData.FromString(prop.Value.GetRawText())); + additionalBinaryDataProperties.Add(prop.Name, prop.Value.GetUtf8Bytes()); } } return new ListWithContinuationTokenHeaderResponseResponse(things, additionalBinaryDataProperties); diff --git a/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/src/Generated/Models/ListWithContinuationTokenResponse.Serialization.cs b/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/src/Generated/Models/ListWithContinuationTokenResponse.Serialization.cs index 6e622e685fe..3f1f22f975f 100644 --- a/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/src/Generated/Models/ListWithContinuationTokenResponse.Serialization.cs +++ b/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/src/Generated/Models/ListWithContinuationTokenResponse.Serialization.cs @@ -163,7 +163,7 @@ internal static ListWithContinuationTokenResponse DeserializeListWithContinuatio } if (options.Format != "W") { - additionalBinaryDataProperties.Add(prop.Name, BinaryData.FromString(prop.Value.GetRawText())); + additionalBinaryDataProperties.Add(prop.Name, prop.Value.GetUtf8Bytes()); } } return new ListWithContinuationTokenResponse(things, nextToken, additionalBinaryDataProperties); diff --git a/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/src/Generated/Models/ListWithNextLinkResponse.Serialization.cs b/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/src/Generated/Models/ListWithNextLinkResponse.Serialization.cs index 96bd3d2b4cb..4f831017597 100644 --- a/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/src/Generated/Models/ListWithNextLinkResponse.Serialization.cs +++ b/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/src/Generated/Models/ListWithNextLinkResponse.Serialization.cs @@ -167,7 +167,7 @@ internal static ListWithNextLinkResponse DeserializeListWithNextLinkResponse(Jso } if (options.Format != "W") { - additionalBinaryDataProperties.Add(prop.Name, BinaryData.FromString(prop.Value.GetRawText())); + additionalBinaryDataProperties.Add(prop.Name, prop.Value.GetUtf8Bytes()); } } return new ListWithNextLinkResponse(things, next, additionalBinaryDataProperties); diff --git a/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/src/Generated/Models/ListWithStringNextLinkResponse.Serialization.cs b/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/src/Generated/Models/ListWithStringNextLinkResponse.Serialization.cs index 8c69549a2dd..15732d94656 100644 --- a/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/src/Generated/Models/ListWithStringNextLinkResponse.Serialization.cs +++ b/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/src/Generated/Models/ListWithStringNextLinkResponse.Serialization.cs @@ -163,7 +163,7 @@ internal static ListWithStringNextLinkResponse DeserializeListWithStringNextLink } if (options.Format != "W") { - additionalBinaryDataProperties.Add(prop.Name, BinaryData.FromString(prop.Value.GetRawText())); + additionalBinaryDataProperties.Add(prop.Name, prop.Value.GetUtf8Bytes()); } } return new ListWithStringNextLinkResponse(things, next, additionalBinaryDataProperties); diff --git a/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/src/Generated/Models/ModelWithEmbeddedNonBodyParameters.Serialization.cs b/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/src/Generated/Models/ModelWithEmbeddedNonBodyParameters.Serialization.cs index 9a14bf5a949..e97166f3199 100644 --- a/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/src/Generated/Models/ModelWithEmbeddedNonBodyParameters.Serialization.cs +++ b/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/src/Generated/Models/ModelWithEmbeddedNonBodyParameters.Serialization.cs @@ -148,7 +148,7 @@ internal static ModelWithEmbeddedNonBodyParameters DeserializeModelWithEmbeddedN } if (options.Format != "W") { - additionalBinaryDataProperties.Add(prop.Name, BinaryData.FromString(prop.Value.GetRawText())); + additionalBinaryDataProperties.Add(prop.Name, prop.Value.GetUtf8Bytes()); } } return new ModelWithEmbeddedNonBodyParameters( diff --git a/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/src/Generated/Models/ModelWithRequiredNullableProperties.Serialization.cs b/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/src/Generated/Models/ModelWithRequiredNullableProperties.Serialization.cs index 2f3f4434cdc..3946e945467 100644 --- a/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/src/Generated/Models/ModelWithRequiredNullableProperties.Serialization.cs +++ b/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/src/Generated/Models/ModelWithRequiredNullableProperties.Serialization.cs @@ -185,7 +185,7 @@ internal static ModelWithRequiredNullableProperties DeserializeModelWithRequired } if (options.Format != "W") { - additionalBinaryDataProperties.Add(prop.Name, BinaryData.FromString(prop.Value.GetRawText())); + additionalBinaryDataProperties.Add(prop.Name, prop.Value.GetUtf8Bytes()); } } return new ModelWithRequiredNullableProperties(requiredNullablePrimitive, requiredExtensibleEnum, requiredFixedEnum, additionalBinaryDataProperties); diff --git a/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/src/Generated/Models/PageThing.Serialization.cs b/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/src/Generated/Models/PageThing.Serialization.cs index cb23fca29f1..73f469515ce 100644 --- a/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/src/Generated/Models/PageThing.Serialization.cs +++ b/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/src/Generated/Models/PageThing.Serialization.cs @@ -152,7 +152,7 @@ internal static PageThing DeserializePageThing(JsonElement element, ModelReaderW } if (options.Format != "W") { - additionalBinaryDataProperties.Add(prop.Name, BinaryData.FromString(prop.Value.GetRawText())); + additionalBinaryDataProperties.Add(prop.Name, prop.Value.GetUtf8Bytes()); } } return new PageThing(items, additionalBinaryDataProperties); diff --git a/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/src/Generated/Models/RenamedModelCustom.Serialization.cs b/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/src/Generated/Models/RenamedModelCustom.Serialization.cs index 3a1718f8385..67020de86a5 100644 --- a/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/src/Generated/Models/RenamedModelCustom.Serialization.cs +++ b/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/src/Generated/Models/RenamedModelCustom.Serialization.cs @@ -145,7 +145,7 @@ internal static RenamedModelCustom DeserializeRenamedModelCustom(JsonElement ele } if (options.Format != "W") { - additionalBinaryDataProperties.Add(prop.Name, BinaryData.FromString(prop.Value.GetRawText())); + additionalBinaryDataProperties.Add(prop.Name, prop.Value.GetUtf8Bytes()); } } return new RenamedModelCustom(name, additionalBinaryDataProperties, otherName); diff --git a/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/src/Generated/Models/ReturnsAnonymousModelResponse.Serialization.cs b/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/src/Generated/Models/ReturnsAnonymousModelResponse.Serialization.cs index b12004ddab8..b3ec4a85bed 100644 --- a/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/src/Generated/Models/ReturnsAnonymousModelResponse.Serialization.cs +++ b/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/src/Generated/Models/ReturnsAnonymousModelResponse.Serialization.cs @@ -129,7 +129,7 @@ internal static ReturnsAnonymousModelResponse DeserializeReturnsAnonymousModelRe { if (options.Format != "W") { - additionalBinaryDataProperties.Add(prop.Name, BinaryData.FromString(prop.Value.GetRawText())); + additionalBinaryDataProperties.Add(prop.Name, prop.Value.GetUtf8Bytes()); } } return new ReturnsAnonymousModelResponse(additionalBinaryDataProperties); diff --git a/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/src/Generated/Models/RoundTripModel.Serialization.cs b/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/src/Generated/Models/RoundTripModel.Serialization.cs index 84ed7fa68de..8ff773d1f86 100644 --- a/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/src/Generated/Models/RoundTripModel.Serialization.cs +++ b/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/src/Generated/Models/RoundTripModel.Serialization.cs @@ -532,7 +532,7 @@ internal static RoundTripModel DeserializeRoundTripModel(JsonElement element, Mo } if (prop.NameEquals("requiredUnknown"u8)) { - requiredUnknown = BinaryData.FromString(prop.Value.GetRawText()); + requiredUnknown = prop.Value.GetUtf8Bytes(); continue; } if (prop.NameEquals("optionalUnknown"u8)) @@ -541,7 +541,7 @@ internal static RoundTripModel DeserializeRoundTripModel(JsonElement element, Mo { continue; } - optionalUnknown = BinaryData.FromString(prop.Value.GetRawText()); + optionalUnknown = prop.Value.GetUtf8Bytes(); continue; } if (prop.NameEquals("requiredRecordUnknown"u8)) @@ -555,7 +555,7 @@ internal static RoundTripModel DeserializeRoundTripModel(JsonElement element, Mo } else { - dictionary.Add(prop0.Name, BinaryData.FromString(prop0.Value.GetRawText())); + dictionary.Add(prop0.Name, prop0.Value.GetUtf8Bytes()); } } requiredRecordUnknown = dictionary; @@ -576,7 +576,7 @@ internal static RoundTripModel DeserializeRoundTripModel(JsonElement element, Mo } else { - dictionary.Add(prop0.Name, BinaryData.FromString(prop0.Value.GetRawText())); + dictionary.Add(prop0.Name, prop0.Value.GetUtf8Bytes()); } } optionalRecordUnknown = dictionary; @@ -593,7 +593,7 @@ internal static RoundTripModel DeserializeRoundTripModel(JsonElement element, Mo } else { - dictionary.Add(prop0.Name, BinaryData.FromString(prop0.Value.GetRawText())); + dictionary.Add(prop0.Name, prop0.Value.GetUtf8Bytes()); } } readOnlyRequiredRecordUnknown = dictionary; @@ -614,7 +614,7 @@ internal static RoundTripModel DeserializeRoundTripModel(JsonElement element, Mo } else { - dictionary.Add(prop0.Name, BinaryData.FromString(prop0.Value.GetRawText())); + dictionary.Add(prop0.Name, prop0.Value.GetUtf8Bytes()); } } readOnlyOptionalRecordUnknown = dictionary; @@ -632,7 +632,7 @@ internal static RoundTripModel DeserializeRoundTripModel(JsonElement element, Mo } if (options.Format != "W") { - additionalBinaryDataProperties.Add(prop.Name, BinaryData.FromString(prop.Value.GetRawText())); + additionalBinaryDataProperties.Add(prop.Name, prop.Value.GetUtf8Bytes()); } } return new RoundTripModel( diff --git a/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/src/Generated/Models/StreamingItem.Serialization.cs b/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/src/Generated/Models/StreamingItem.Serialization.cs index 089312b950d..220776cfb7d 100644 --- a/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/src/Generated/Models/StreamingItem.Serialization.cs +++ b/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/src/Generated/Models/StreamingItem.Serialization.cs @@ -133,7 +133,7 @@ internal static StreamingItem DeserializeStreamingItem(JsonElement element, Mode } if (options.Format != "W") { - additionalBinaryDataProperties.Add(prop.Name, BinaryData.FromString(prop.Value.GetRawText())); + additionalBinaryDataProperties.Add(prop.Name, prop.Value.GetUtf8Bytes()); } } return new StreamingItem(message, additionalBinaryDataProperties); diff --git a/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/src/Generated/Models/Thing.Serialization.cs b/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/src/Generated/Models/Thing.Serialization.cs index 18f817f1050..f41b3eebe1d 100644 --- a/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/src/Generated/Models/Thing.Serialization.cs +++ b/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/src/Generated/Models/Thing.Serialization.cs @@ -256,7 +256,7 @@ internal static Thing DeserializeThing(JsonElement element, ModelReaderWriterOpt } if (prop.NameEquals("requiredUnion"u8)) { - requiredUnion = BinaryData.FromString(prop.Value.GetRawText()); + requiredUnion = prop.Value.GetUtf8Bytes(); continue; } if (prop.NameEquals("requiredLiteralString"u8)) @@ -386,7 +386,7 @@ internal static Thing DeserializeThing(JsonElement element, ModelReaderWriterOpt } if (options.Format != "W") { - additionalBinaryDataProperties.Add(prop.Name, BinaryData.FromString(prop.Value.GetRawText())); + additionalBinaryDataProperties.Add(prop.Name, prop.Value.GetUtf8Bytes()); } } return new Thing( diff --git a/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/src/Generated/Models/Tree.Serialization.cs b/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/src/Generated/Models/Tree.Serialization.cs index 54ff6299a2d..6a1cd5f615c 100644 --- a/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/src/Generated/Models/Tree.Serialization.cs +++ b/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/src/Generated/Models/Tree.Serialization.cs @@ -200,7 +200,7 @@ internal static Tree DeserializeTree(JsonElement element, ModelReaderWriterOptio } if (options.Format != "W") { - additionalBinaryDataProperties.Add(prop.Name, BinaryData.FromString(prop.Value.GetRawText())); + additionalBinaryDataProperties.Add(prop.Name, prop.Value.GetUtf8Bytes()); } } return new Tree(species, id, height, additionalBinaryDataProperties, age); diff --git a/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/src/Generated/Models/UnknownAnimal.Serialization.cs b/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/src/Generated/Models/UnknownAnimal.Serialization.cs index dc78a3ac157..a21329889d2 100644 --- a/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/src/Generated/Models/UnknownAnimal.Serialization.cs +++ b/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/src/Generated/Models/UnknownAnimal.Serialization.cs @@ -122,7 +122,7 @@ internal static UnknownAnimal DeserializeUnknownAnimal(JsonElement element, Mode } if (options.Format != "W") { - additionalBinaryDataProperties.Add(prop.Name, BinaryData.FromString(prop.Value.GetRawText())); + additionalBinaryDataProperties.Add(prop.Name, prop.Value.GetUtf8Bytes()); } } return new UnknownAnimal(kind, name, additionalBinaryDataProperties); diff --git a/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/src/Generated/Models/UnknownPet.Serialization.cs b/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/src/Generated/Models/UnknownPet.Serialization.cs index fd07ea9b03e..58c421a774d 100644 --- a/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/src/Generated/Models/UnknownPet.Serialization.cs +++ b/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/src/Generated/Models/UnknownPet.Serialization.cs @@ -128,7 +128,7 @@ internal static UnknownPet DeserializeUnknownPet(JsonElement element, ModelReade } if (options.Format != "W") { - additionalBinaryDataProperties.Add(prop.Name, BinaryData.FromString(prop.Value.GetRawText())); + additionalBinaryDataProperties.Add(prop.Name, prop.Value.GetUtf8Bytes()); } } return new UnknownPet(kind, name, additionalBinaryDataProperties, trained); diff --git a/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/src/Generated/Models/UnknownPlant.Serialization.cs b/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/src/Generated/Models/UnknownPlant.Serialization.cs index ce27edb64eb..85d3b466e6b 100644 --- a/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/src/Generated/Models/UnknownPlant.Serialization.cs +++ b/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/src/Generated/Models/UnknownPlant.Serialization.cs @@ -152,7 +152,7 @@ internal static UnknownPlant DeserializeUnknownPlant(JsonElement element, ModelR } if (options.Format != "W") { - additionalBinaryDataProperties.Add(prop.Name, BinaryData.FromString(prop.Value.GetRawText())); + additionalBinaryDataProperties.Add(prop.Name, prop.Value.GetUtf8Bytes()); } } return new UnknownPlant(species, id, height, additionalBinaryDataProperties); diff --git a/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/src/Generated/Models/Wrapper.Serialization.cs b/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/src/Generated/Models/Wrapper.Serialization.cs index 3ff5f26729d..39a4f0f0767 100644 --- a/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/src/Generated/Models/Wrapper.Serialization.cs +++ b/packages/http-client-csharp/generator/TestProjects/Local/Sample-TypeSpec/src/Generated/Models/Wrapper.Serialization.cs @@ -135,7 +135,7 @@ internal static Wrapper DeserializeWrapper(JsonElement element, ModelReaderWrite } if (options.Format != "W") { - additionalBinaryDataProperties.Add(prop.Name, BinaryData.FromString(prop.Value.GetRawText())); + additionalBinaryDataProperties.Add(prop.Name, prop.Value.GetUtf8Bytes()); } } return new Wrapper(p1, action, p2, additionalBinaryDataProperties);