1 //------------------------------------------------------------------------------
2 // <copyright file="AppSettings.cs" company="Microsoft">
3 // Copyright (c) Microsoft Corporation. All rights reserved.
5 //------------------------------------------------------------------------------
11 using System.Collections.Specialized;
12 using System.Configuration;
13 using System.Diagnostics.CodeAnalysis;
15 namespace System.ComponentModel.DataAnnotations {
16 internal static class AppSettings {
17 private static volatile bool _settingsInitialized = false;
18 private static object _appSettingsLock = new object();
19 private static void EnsureSettingsLoaded() {
20 if (!_settingsInitialized) {
21 lock (_appSettingsLock) {
22 if (!_settingsInitialized) {
23 NameValueCollection settings = null;
26 settings = ConfigurationManager.AppSettings;
28 catch (ConfigurationErrorsException) { }
30 if (settings == null || !Boolean.TryParse(settings["dataAnnotations:dataTypeAttribute:disableRegEx"], out _disableRegEx))
31 _disableRegEx = false;
33 _settingsInitialized = true;
40 private static bool _disableRegEx;
41 internal static bool DisableRegEx {
43 EnsureSettingsLoaded();