CrypticWizard.SaveFile 0.2.0

Prefix Reserved
dotnet add package CrypticWizard.SaveFile --version 0.2.0                
NuGet\Install-Package CrypticWizard.SaveFile -Version 0.2.0                
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="CrypticWizard.SaveFile" Version="0.2.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add CrypticWizard.SaveFile --version 0.2.0                
#r "nuget: CrypticWizard.SaveFile, 0.2.0"                
#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 CrypticWizard.SaveFile as a Cake Addin
#addin nuget:?package=CrypticWizard.SaveFile&version=0.2.0

// Install CrypticWizard.SaveFile as a Cake Tool
#tool nuget:?package=CrypticWizard.SaveFile&version=0.2.0                

save-file

Description

  • A text file read/write class for arbitrary data types .NET and .NET Core
  • Removes the need to explicitly convert non-string variables to string when writing a text file
  • Removes the need to explicitly parse non-string variables when reading a text file
  • Strong typing is preserved when reading a text save file

Tests

.NET 5.0

.NET Core 3.1

Usage

Install Package

dotnet add package CrypticWizard.SaveFile
<PackageReference Include="CrypticWizard.SaveFile" Version="0.2.0"/>

Include Package

using CrypticWizard.SaveFile;

Write Settings File

TextSaveFile textSaveFile = new TextSaveFile();

textSaveFile.Add("Workstation", "DESKTOP-123");
textSaveFile.Add("LastLogin", DateTime.Now);
textSaveFile.Add("TotalLogins", 7);
textSaveFile.Add("Hours", 11.3);

textSaveFile.Write("mySettings.txt");
Workstation=string=DESKTOP-123
LastLogin=datetime=11/12/2021 8:09:19 PM
TotalLogins=int=7
Hours=double=11.3

Read Settings File

TextSaveFile readFile = TextSaveFile.Read("mySettings.txt");

string userWorkstation = readFile.GetString("UserWorkstation");
DateTime? userLastLogin = readFile.GetDateTime("UserLastLogin");
int? userTotalLogins = readFile.GetInt("UserTotalLogins");
double? userHours = readFile.GetDouble("UserHours");
DESKTOP-123
11/12/2021 8:09:19 PM
7
11.3

Features

Supported Primitives

  • string
  • char
  • bool
  • sbyte
  • short
  • int
  • long
  • byte
  • ushort
  • uint
  • ulong
  • double
  • float
  • decimal

Supported Classes

  • DateTime

Planned Features

  • delimiter collision checking

Tools

License

Product Compatible and additional computed target framework versions.
.NET net5.0 is compatible.  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 netcoreapp3.1 is compatible. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • .NETCoreApp 3.1

    • No dependencies.
  • net5.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
0.2.0 530 1/16/2022

Replaced dictionary lookups with get functions