Remove framework gating

This commit is contained in:
Matt Nadareski
2023-11-07 20:57:05 -05:00
parent e582ce8726
commit 1f340bd244
368 changed files with 5 additions and 7413 deletions

View File

@@ -5,36 +5,20 @@ namespace SabreTools.Models.Metadata
/// <summary>
/// Specialized dictionary base for item types
/// </summary>
#if NET48
public abstract class DictionaryBase : Dictionary<string, object>
#else
public abstract class DictionaryBase : Dictionary<string, object?>
#endif
{
/// <summary>
/// Read a key as the specified type, returning null on error
/// </summary>
#if NET48
public T Read<T>(string key)
#else
public T? Read<T>(string key)
#endif
{
try
{
if (!ValidateKey(key))
return default;
#if NET48
if (!(this[key] is T))
#else
if (this[key] is not T)
#endif
return default;
#if NET48
return (T)this[key];
#else
return (T?)this[key];
#endif
}
catch
{
@@ -54,15 +38,6 @@ namespace SabreTools.Models.Metadata
if (asBool != null)
return asBool;
#if NET48
string asString = Read<string>(key);
switch (asString?.ToLowerInvariant())
{
case "true": case "yes": return true;
case "false": case "no": return false;
default: return null;
}
#else
string? asString = Read<string>(key);
return asString?.ToLowerInvariant() switch
{
@@ -70,7 +45,6 @@ namespace SabreTools.Models.Metadata
"false" or "no" => false,
_ => null,
};
#endif
}
/// <summary>
@@ -85,11 +59,7 @@ namespace SabreTools.Models.Metadata
if (asDouble != null)
return asDouble;
#if NET48
string asString = Read<string>(key);
#else
string? asString = Read<string>(key);
#endif
if (asString != null && double.TryParse(asString, out double asStringDouble))
return asStringDouble;
@@ -109,11 +79,7 @@ namespace SabreTools.Models.Metadata
if (asLong != null)
return asLong;
#if NET48
string asString = Read<string>(key);
#else
string? asString = Read<string>(key);
#endif
if (asString != null && long.TryParse(asString, out long asStringLong))
return asStringLong;
@@ -123,76 +89,46 @@ namespace SabreTools.Models.Metadata
/// <summary>
/// Read a key as a string, returning null on error
/// </summary>
#if NET48
public string ReadString(string key)
#else
public string? ReadString(string key)
#endif
{
if (!ValidateKey(key))
return null;
#if NET48
string asString = Read<string>(key);
#else
string? asString = Read<string>(key);
#endif
if (asString != null)
return asString;
#if NET48
string[] asArray = Read<string[]>(key);
if (asArray != null)
return string.Join(",", asArray);
#else
string[]? asArray = Read<string[]>(key);
if (asArray != null)
#if NET48
return string.Join(",", asArray);
#else
return string.Join(',', asArray);
#endif
// TODO: Add byte array conversion here
// TODO: Add byte array read helper
#if NET48
return this[key].ToString();
#else
return this[key]!.ToString();
#endif
}
/// <summary>
/// Read a key as a string[], returning null on error
/// </summary>
#if NET48
public string[] ReadStringArray(string key)
#else
public string[]? ReadStringArray(string key)
#endif
{
if (!ValidateKey(key))
return null;
#if NET48
string[] asArray = Read<string[]>(key);
#else
string[]? asArray = Read<string[]>(key);
#endif
if (asArray != null)
return asArray;
#if NET48
string asString = Read<string>(key);
#else
string? asString = Read<string>(key);
#endif
if (asString != null)
return new string[] { asString };
#if NET48
asString = this[key].ToString();
#else
asString = this[key]!.ToString();
#endif
if (asString != null)
return new string[] { asString };