ObjectSemantics.NET
6.0.4
dotnet add package ObjectSemantics.NET --version 6.0.4
NuGet\Install-Package ObjectSemantics.NET -Version 6.0.4
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="ObjectSemantics.NET" Version="6.0.4" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add ObjectSemantics.NET --version 6.0.4
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: ObjectSemantics.NET, 6.0.4"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install ObjectSemantics.NET as a Cake Addin #addin nuget:?package=ObjectSemantics.NET&version=6.0.4 // Install ObjectSemantics.NET as a Cake Tool #tool nuget:?package=ObjectSemantics.NET&version=6.0.4
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
ObjectSemantics.NET
Simple Object to File Mapper that supports string formatting
Overview
- Maps properties from a source object to a template string and returns the result. This is useful for dynamically generating strings based on object properties.
Install
NuGet Package
Install-Package ObjectSemantics.NET
https://nuget.org/packages/ObjectSemantics.NET
USAGE (Example 1)
// Create Model
Student student = new Student
{
StudentName = "George Waynne",
Balance = 2510
};
// Define Template
var template = new ObjectSemanticsTemplate
{
FileContents = @"My Name is: {{ StudentName }} and my balance is {{ Balance:N2 }}"
};
// Map Object to Template
string generatedTemplate = template.Map(student);
// Output the result
Console.WriteLine(generatedTemplate);
Output
My Name is: George Waynne and my balance is 2,510.00
USAGE (Example 2)
// Create Model
Student student = new Student
{
StudentName = "John Doe",
Invoices = new List<Invoice>
{
new Invoice{ Id = 2, RefNo = "INV_002", Narration = "Grade II Fees Invoice", Amount = 2000, InvoiceDate = new DateTime(2023, 04, 01) },
new Invoice{ Id = 1, RefNo = "INV_001", Narration = "Grade I Fees Invoice", Amount = 320, InvoiceDate = new DateTime(2022, 08, 01) }
}
};
// Define Template
var template = new ObjectSemanticsTemplate
{
FileContents = @"{{ StudentName }} Invoices
{{ #foreach(Invoices) }}
<tr>
<td>{{ Id }}</td>
<td>{{ RefNo }}</td>
<td>{{ Narration }}</td>
<td>{{ Amount:N0 }}</td>
<td>{{ InvoiceDate:yyyy-MM-dd }}</td>
</tr>
{{ #endforeach }}"
};
// Map Object to Template
string generatedTemplate = template.Map(student);
// Output the result
Console.WriteLine(generatedTemplate);
Output
John Doe Invoices
<tr>
<td>2</td>
<td>INV_002</td>
<td>Grade II Fees Invoice</td>
<td>2,000</td>
<td>2023-04-01</td>
</tr>
<tr>
<td>1</td>
<td>INV_001</td>
<td>Grade I Fees Invoice</td>
<td>320</td>
<td>2022-08-01</td>
</tr>
Check out more samples
License
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
.NETStandard 2.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
. Added support for single arrays Loop Support
. Added encoding string formattings
ToMD5
ToBase64
FromBase64
. Added template extension method to allow mapping directly from Template