⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 diagnosticsconfiguration.cs

📁 蓝牙通讯
💻 CS
字号:
using System;
using System.Reflection;
using System.Collections;
using OpenNETCF.Configuration;

namespace OpenNETCF.Diagnostics 
{
	internal enum InitState 
	{
		NotInitialized,
		Initializing,
		Initialized
	}

	internal class DiagnosticsConfiguration 
	{
		private static Hashtable configTable;
		private static InitState initState = InitState.NotInitialized;   
		private static string appBase = string.Empty;

		// Setting for TraceInternal.AutoFlush
		internal static bool AutoFlush 
		{
			get 
			{ 
				Initialize();
				if (configTable != null && configTable.ContainsKey("autoflush"))
					return (bool)configTable["autoflush"];
				else
					return false; // the default
			}
		}

		// Setting for TraceInternal.IndentSize
		internal static int IndentSize 
		{
			get 
			{ 
				Initialize();
				if (configTable != null && configTable.ContainsKey("indentsize"))
					return (int)configTable["indentsize"];
				else
					return 4; // the default
			}
		}

        
		private static Hashtable GetConfigTable() 
		{
			//string appBase = System.Reflection.Assembly.GetCallingAssembly().GetName().CodeBase;
			Hashtable configTable = (Hashtable) ConfigurationSettings.GetConfig("system.diagnostics", appBase);
			return configTable;
		}

		internal static bool IsInitializing() 
		{
			return initState == InitState.Initializing;
		}

		internal static bool CanInitialize() 
		{
			return (initState != InitState.Initializing) && !(ConfigurationSettings.SetConfigurationSystemInProgress);
		}
        
		internal static void Initialize() 
		{
			lock (typeof(DiagnosticsConfiguration)) 
			{
				if (initState != InitState.NotInitialized || ConfigurationSettings.SetConfigurationSystemInProgress)
					return;

				// Prevent recursion
				initState = InitState.Initializing; 
				try 
				{
					//appBase = System.Reflection.Assembly.GetCallingAssembly().GetName().CodeBase;
					configTable = GetConfigTable();
				}
				finally 
				{
					initState = InitState.Initialized;
				}
			}
		}

		internal static string AppBase
		{
			get { return appBase; }
			set { appBase = value; }
		}
	}
}


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -