dotnet add package ObjectWriter --version 1.0.0
NuGet\Install-Package ObjectWriter -Version 1.0.0
<PackageReference Include="ObjectWriter" Version="1.0.0" />
paket add ObjectWriter --version 1.0.0
#r "nuget: ObjectWriter, 1.0.0"
// Install ObjectWriter as a Cake Addin #addin nuget:?package=ObjectWriter&version=1.0.0 // Install ObjectWriter as a Cake Tool #tool nuget:?package=ObjectWriter&version=1.0.0
Sets the value to a property of an object by its path from the root.
The object can be a complex object and the property can be multi level deep nested property or it can be a property directly under the root. ObjectWriter will find the property using the property path parameter and update its value. Property path is the appended names of the properties visited from root to the end node property which we want to set, delimited by the delimiter string parameter.
For setting up the properties directly under the object root:
Ie. LineItem class has an int property called ItemId
LineItem lineItem = new LineItem();
ObjectWriter.Set(lineItem, "ItemId", 13, delimiter: null);
For setting up nested property multiple levels below the object root:
Ie. Invite class has a property called State, which has a property called Recipient, which has a property called Id.
Here is how you can set the Id property (to string value of “outlook”) at the bottom of the object tree in a single line.
Invite invite = new Invite();
ObjectWriter.Set(invite, "State_Recipient_Id", "outlook", delimiter: "_");
This will set invite.State.Recipient.Id to “outlook”
You also do not need to worry about instantiating the properties State or Recipient, ObjectWriter.Set method will instantiate those if they are null along the way.
|Product||Versions Compatible and additional computed target framework versions.|
|.NET Framework||net40 is compatible. net403 was computed. net45 was computed. net451 was computed. net452 was computed. net46 was computed. net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed.|
This package has no dependencies.
This package is not used by any NuGet packages.
This package is not used by any popular GitHub repositories.