Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/belicusbr/com.cobilas.cs.lib.core.net4x
Cobilas Core Net4x is a utility library for CSharp.
https://github.com/belicusbr/com.cobilas.cs.lib.core.net4x
csharp csharp-library csharp-utilities
Last synced: 3 months ago
JSON representation
Cobilas Core Net4x is a utility library for CSharp.
- Host: GitHub
- URL: https://github.com/belicusbr/com.cobilas.cs.lib.core.net4x
- Owner: BelicusBr
- License: mit
- Created: 2023-11-30T02:40:24.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-10-04T00:13:26.000Z (3 months ago)
- Last Synced: 2024-10-12T14:21:37.773Z (3 months ago)
- Topics: csharp, csharp-library, csharp-utilities
- Language: C#
- Homepage: https://belicusbr.github.io/com.cobilas.docs/core-net4x-getting-started.html
- Size: 259 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE.md
Awesome Lists containing this project
README
# [Cobilas Core](https://belicusbr.github.io/com.cobilas.docs/mds/core-net4x-getting-started.html)
### Descripition
Cobilas Core Net4x is a utility library for CSharp.## Json
(namespace:Cobilas.IO.Serialization.Json)
Only present in the NuGet version.
The static class `Json` grants static read and write functions.### JsonContractResolver
Used by `JsonSerializer` to resolve a `JsonContract` for a given `Type`.
Furthermore, `JsonContractResolver` determines how the fields of an `Object` will be serialized.## ATLF(Arquivo de tradução de leitura facil)
ATLF (Easy to Read Translation File) can be used to create and load translations for apps.
```
#>Header
The use of the header is not mandatory.<#
#! version:/*std:1.0*/
#! encoding:/*utf-8*/#> Comment <#
#> ATLF format(1.0) <##> Uni-line marking <#
#! Tag1:/*value1*/#> Multi-line marking <#
#! Tag2:/*
value1
value2
value3
value4
*/
```
### How to read ATLF
```csharp
static void Main(string[] args) {
using ATLFReader reader = ATLFReader.Create(@"C:\folder1\file.txt");
reader.Reader();
Console.WriteLine($"tag.value.1:{reader.GetTag("tag.value.1")}");
Console.WriteLine($"tag.value.2:{reader.GetTag("tag.value.2")}");
Console.WriteLine($"tag.value.3:{reader.GetTag("tag.value.3")}");
}
```
The other reading functions.
- The `ATLFNode[]:ATLFReader.GetHeader()` function allows you to get the header tags.
- The `ATLFNode[]:ATLFReader.GetAllComments()` function allows you to get all comments.
The `ATLFNode[]:ATLFReader.GetTagGroup(string path)` function allows you to obtain tags that belong to the same path.
```csharp
/*C:\folder1\file.txt
* #! version:/*std:1.0* /
* #! encoding:/*utf-8* /
*
* #! tag.value.cop1:/*value1* /
* #! tag.value.map.cop1:/*value1* /
* #! tag.value.map.cop2:/*value1* /
* #! tag.value.cop2:/*value1* /
* #! tag.value.cop3:/*value1* /
*/
static void Main(string[] args) {
using ATLFReader reader = ATLFReader.Create(@"C:\folder1\file.txt");
reader.Reader();
foreach(var item in reader.GetTagGroup("tag.value.map"))
Console.WriteLine(item);
}
```
### How to write ATLF
```csharp
static void Main(string[] args) {
using ATLFWriter writer = ATLFWriter.Create(File.OpenWrite(@"C:\folder1\file.txt"));
writer.WriteHeader();//The header is not mandatory but if you add a header, call this function first.
writer.WriteComment("my tag1");
writer.WriteNode("tag1", "value1");
writer.WriteWhitespace("\r\n");//This function is called automatically when the `Indent` property is `true`. By default the `Indent` property is `true`.
writer.WriteComment("my tag2");
writer.WriteNode("tag2", "value2");
writer.WriteWhitespace(2, "\r\n");//This function is called automatically when the `Indent` property is `true`. By default the `Indent` property is `true`.
writer.WriteComment("my tag3");
writer.WriteNode("tag3", "value3");
}
```
### Encoders and decoders
Regarding encoders and decoders, ATLF allows the creation of customized encoders and decoders.
To use a custom encoder or decoder, assign a version to your custom encoder or decoder using the `Version` property and then assign the version of the custom encoder or decoder in the `TargetVersion` property of the `ATLFWriter` and `ATLFReader` classes.
#### Creating a custom encoding class
To create a custom encoding class, the class must inherit the `ATLFVS10Encoding` class.
#### Creating a custom decoding class
To create a custom decoding class, the class must inherit the `ATLFVS10Decoding` class.# [Cobilas.Core.Net4x](https://www.nuget.org/packages/Cobilas.Core.Net4x) is on nuget.org
To include the package, open the `.csproj` file and add it.
```xml
```
Or use command line.
```ps1
dotnet add package Cobilas.Core.Net4x --version 1.4.0
```
# [Cobilas.Core.Net4x](https://www.npmjs.com/package/com.cobilas.unity.core.net4x) is on NPM
Include in npm package
```json
"dependencies": {
"com.cobilas.unity.core.net4x":"1.4.0"
}
```
Or use command line.
```ps1
npm i com.cobilas.unity.core.net4x
```