ObjectSemantics.NET
6.0.3
There is a newer version of this package available.
See the version list below for details.
See the version list below for details.
dotnet add package ObjectSemantics.NET --version 6.0.3
NuGet\Install-Package ObjectSemantics.NET -Version 6.0.3
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.3" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="ObjectSemantics.NET" Version="6.0.3" />
<PackageReference Include="ObjectSemantics.NET" />
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add ObjectSemantics.NET --version 6.0.3
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: ObjectSemantics.NET, 6.0.3"
#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.
#:package ObjectSemantics.NET@6.0.3
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=ObjectSemantics.NET&version=6.0.3
#tool nuget:?package=ObjectSemantics.NET&version=6.0.3
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. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.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.
| Version | Downloads | Last Updated | |
|---|---|---|---|
| 7.0.1 | 209 | 10/29/2025 | |
| 7.0.0 | 185 | 10/7/2025 | |
| 6.0.5 | 576 | 7/23/2025 | |
| 6.0.4 | 546 | 5/19/2024 | |
| 6.0.3 | 207 | 5/19/2024 | |
| 6.0.2 | 547 | 5/16/2023 | |
| 6.0.1 | 335 | 4/14/2023 | |
| 5.1.5 | 295 | 4/12/2023 | |
| 5.1.4 | 310 | 4/12/2023 | |
| 5.1.3 | 304 | 4/11/2023 | |
| 5.1.2 | 300 | 4/10/2023 | |
| 5.0.1 | 313 | 4/7/2023 | |
| 4.0.1 | 353 | 4/7/2023 | |
| 3.0.2 | 596 | 1/13/2023 |
v.6.0.3
1. Added encoding string formattings
ToMD5
ToBase64
FromBase64
2. added extention to allow mapping directly from Template