Skip to content

Commit 2b2b4ba

Browse files
committed
Add "null" ConfigurationManager
1 parent b08f367 commit 2b2b4ba

File tree

2 files changed

+27
-2
lines changed

2 files changed

+27
-2
lines changed

src/NHibernate/Cfg/IConfigurationManager.cs

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,4 +44,22 @@ public string GetAppSetting(string name)
4444
return ConfigurationManager.AppSettings[name];
4545
}
4646
}
47+
48+
class NullConfigurationManager : IConfigurationManager
49+
{
50+
public IHibernateConfiguration GetConfiguration()
51+
{
52+
return null;
53+
}
54+
55+
public string GetNamedConnectionString(string name)
56+
{
57+
return null;
58+
}
59+
60+
public string GetAppSetting(string name)
61+
{
62+
return null;
63+
}
64+
}
4765
}

src/NHibernate/Cfg/Settings.cs

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,17 @@ namespace NHibernate.Cfg
1818
/// </summary>
1919
public sealed class Settings
2020
{
21+
private static IConfigurationManager _configurationManager = new SystemConfigurationManager();
22+
2123
/// <summary>
22-
/// Provides ability to override default <see cref="System.Configuration.ConfigurationManager"/> with custom implementation.
24+
/// Provides ability to override default <see cref="System.Configuration.ConfigurationManager"/> with custom implementation.
25+
/// Can be set to null if all configuration is specified by code
2326
/// </summary>
24-
public static IConfigurationManager ConfigurationManager { get; set; } = new SystemConfigurationManager();
27+
public static IConfigurationManager ConfigurationManager
28+
{
29+
get => _configurationManager;
30+
set => _configurationManager = value ?? new NullConfigurationManager();
31+
}
2532

2633
public Settings()
2734
{

0 commit comments

Comments
 (0)