KeyValueConfig 1.0.0
dotnet add package KeyValueConfig --version 1.0.0
NuGet\Install-Package KeyValueConfig -Version 1.0.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="KeyValueConfig" Version="1.0.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add KeyValueConfig --version 1.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: KeyValueConfig, 1.0.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 KeyValueConfig as a Cake Addin #addin nuget:?package=KeyValueConfig&version=1.0.0 // Install KeyValueConfig as a Cake Tool #tool nuget:?package=KeyValueConfig&version=1.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
KeyValueConfig
This is a library that allows you to save or load key-value data as a file
🎨 Features
- A key-value store class that can be saved as a file.
- A key-value store class that can be loaded from a file.
🐾 Examples
public enum DummyEnum
{
DummyType1,
DummyType2,
DummyType3,
DummyType4,
DummyType5,
}
public class DummyClass : IConfigurable
{
public string StringData { get; set; }
public byte ByteData { get; set; }
public short ShortData { get; set; }
public ushort UnsignedShortData { get; set; }
public int IntData { get; set; }
public uint UnsignedIntData { get; set; }
public long LongData { get; set; }
public ulong UnsignedLongData { get; set; }
public double DoubleData { get; set; }
public float FloatData { get; set; }
public DummyEnum EnumData { get; set; }
public ConfigStore CreateConfigStore()
{
ConfigStore configStore = new ConfigStore();
configStore.SetValue(nameof(StringData), StringData);
configStore.SetValue(nameof(ByteData), ByteData);
configStore.SetValue(nameof(ShortData), ShortData);
configStore.SetValue(nameof(UnsignedShortData), UnsignedShortData);
configStore.SetValue(nameof(IntData), IntData);
configStore.SetValue(nameof(UnsignedIntData), UnsignedIntData);
configStore.SetValue(nameof(LongData), LongData);
configStore.SetValue(nameof(UnsignedLongData), UnsignedLongData);
configStore.SetValue(nameof(DoubleData), DoubleData);
configStore.SetValue(nameof(FloatData), FloatData);
configStore.SetValue(nameof(EnumData), EnumData);
return configStore;
}
public void LoadFromConfigStore(ConfigStore configStore)
{
if (configStore != null)
{
StringData = configStore.GetString(nameof(StringData), "");
ByteData = configStore.GetByte(nameof(ByteData), 0);
ShortData = configStore.GetInt16(nameof(ShortData), 0);
UnsignedShortData = configStore.GetUInt16(nameof(UnsignedShortData), 0);
IntData = configStore.GetInt32(nameof(IntData), 0);
UnsignedIntData = configStore.GetUInt32(nameof(UnsignedIntData), 0);
LongData = configStore.GetInt64(nameof(LongData), 0);
UnsignedLongData = configStore.GetUInt64(nameof(UnsignedLongData), 0);
DoubleData = configStore.GetDouble(nameof(DoubleData), 0);
FloatData = configStore.GetFloat(nameof(FloatData), 0);
EnumData = configStore.GetEnum<DummyEnum>(nameof(EnumData), DummyEnum.DummyType1);
}
}
}
DummyClass dummyClassA = new DummyClass();
// set data ...
a.StringData = "ABC";
a.ByteData = (byte)100;
// save to file
dummyClassA.CreateConfigStore().SaveToFile(tmpFilePath);
// create new dummy class
DummyClass dummyClassB = new DummyClass();
// load from file
dummyClassB.LoadFromConfigStore(ConfigStore.CreateFromFile(tmpFilePath));
// dummyClassB.StringData => "ABC", dummyClassB.ByteData => 100
// float, double values may not match perfectly.
🐞 Bug Report
If you find a bug, please report to us posting issues on GitHub.
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.
Version | Downloads | Last updated |
---|---|---|
1.0.0 | 321 | 9/7/2021 |
first release