Add foundation

This commit is contained in:
TheXamlGuy
2024-04-13 11:29:32 +01:00
parent 6f31aa8513
commit 053d8a851e
264 changed files with 3428 additions and 4683 deletions
+33
View File
@@ -0,0 +1,33 @@
namespace Toolkit.Foundation;
public class ConfigurationReader<TConfiguration>(IConfigurationSource<TConfiguration> source,
IConfigurationFactory<TConfiguration> factory) :
IConfigurationReader<TConfiguration>
where TConfiguration :
class
{
public TConfiguration Read()
{
if (source.TryGet(out TConfiguration? value))
{
if (value is TConfiguration configuration)
{
return configuration;
}
}
return (TConfiguration)factory.Create();
}
public bool TryRead(out TConfiguration? configuration)
{
if (source.TryGet(out TConfiguration? value) && value is not null)
{
configuration = value;
return true;
}
configuration = default;
return false;
}
}