亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? levelmap.cs

?? 詳細(xì)講述了數(shù)據(jù)庫編程
?? CS
字號:
#region Copyright & License
//
// Copyright 2001-2005 The Apache Software Foundation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
#endregion

using System;
using System.Collections;
using System.Collections.Specialized;

using log4net.Util;

namespace log4net.Core
{
	/// <summary>
	/// Mapping between string name and Level object
	/// </summary>
	/// <remarks>
	/// <para>
	/// Mapping between string name and <see cref="Level"/> object.
	/// This mapping is held separately for each <see cref="log4net.Repository.ILoggerRepository"/>.
	/// The level name is case insensitive.
	/// </para>
	/// </remarks>
	/// <author>Nicko Cadell</author>
	public sealed class LevelMap
	{
		#region Member Variables

		/// <summary>
		/// Mapping from level name to Level object. The
		/// level name is case insensitive
		/// </summary>
		private Hashtable m_mapName2Level = SystemInfo.CreateCaseInsensitiveHashtable();

		#endregion

		/// <summary>
		/// Construct the level map
		/// </summary>
		/// <remarks>
		/// <para>
		/// Construct the level map.
		/// </para>
		/// </remarks>
		public LevelMap()
		{
		}

		/// <summary>
		/// Clear the internal maps of all levels
		/// </summary>
		/// <remarks>
		/// <para>
		/// Clear the internal maps of all levels
		/// </para>
		/// </remarks>
		public void Clear()
		{
			// Clear all current levels
			m_mapName2Level.Clear();
		}

		/// <summary>
		/// Lookup a <see cref="Level"/> by name
		/// </summary>
		/// <param name="name">The name of the Level to lookup</param>
		/// <returns>a Level from the map with the name specified</returns>
		/// <remarks>
		/// <para>
		/// Returns the <see cref="Level"/> from the
		/// map with the name specified. If the no level is
		/// found then <c>null</c> is returned.
		/// </para>
		/// </remarks>
		public Level this[string name]
		{
			get
			{
				if (name == null)
				{
					throw new ArgumentNullException("name");
				}

				lock(this)
				{
					return (Level)m_mapName2Level[name];
				}
			}
		}

		/// <summary>
		/// Create a new Level and add it to the map
		/// </summary>
		/// <param name="name">the string to display for the Level</param>
		/// <param name="value">the level value to give to the Level</param>
		/// <remarks>
		/// <para>
		/// Create a new Level and add it to the map
		/// </para>
		/// </remarks>
		/// <seealso cref="Add(string,int,string)"/>
		public void Add(string name, int value)
		{
			Add(name, value, null);
		}

		/// <summary>
		/// Create a new Level and add it to the map
		/// </summary>
		/// <param name="name">the string to display for the Level</param>
		/// <param name="value">the level value to give to the Level</param>
		/// <param name="displayName">the display name to give to the Level</param>
		/// <remarks>
		/// <para>
		/// Create a new Level and add it to the map
		/// </para>
		/// </remarks>
		public void Add(string name, int value, string displayName)
		{
			if (name == null)
			{
				throw new ArgumentNullException("name");
			}
			if (name.Length == 0)
			{
				throw log4net.Util.SystemInfo.CreateArgumentOutOfRangeException("name", name, "Parameter: name, Value: ["+name+"] out of range. Level name must not be empty");
			}

			if (displayName == null || displayName.Length == 0)
			{
				displayName = name;
			}

			Add(new Level(value, name, displayName));
		}

		/// <summary>
		/// Add a Level to the map
		/// </summary>
		/// <param name="level">the Level to add</param>
		/// <remarks>
		/// <para>
		/// Add a Level to the map
		/// </para>
		/// </remarks>
		public void Add(Level level)
		{
			if (level == null)
			{
				throw new ArgumentNullException("level");
			}
			lock(this)
			{
				m_mapName2Level[level.Name] = level;
			}
		}

		/// <summary>
		/// Return all possible levels as a list of Level objects.
		/// </summary>
		/// <returns>all possible levels as a list of Level objects</returns>
		/// <remarks>
		/// <para>
		/// Return all possible levels as a list of Level objects.
		/// </para>
		/// </remarks>
		public LevelCollection AllLevels
		{
			get
			{
				lock(this)
				{
					return new LevelCollection(m_mapName2Level.Values);
				}
			}
		}

		/// <summary>
		/// Lookup a named level from the map
		/// </summary>
		/// <param name="defaultLevel">the name of the level to lookup is taken from this level. 
		/// If the level is not set on the map then this level is added</param>
		/// <returns>the level in the map with the name specified</returns>
		/// <remarks>
		/// <para>
		/// Lookup a named level from the map. The name of the level to lookup is taken
		/// from the <see cref="Level.Name"/> property of the <paramref name="defaultLevel"/>
		/// argument.
		/// </para>
		/// <para>
		/// If no level with the specified name is found then the 
		/// <paramref name="defaultLevel"/> argument is added to the level map
		/// and returned.
		/// </para>
		/// </remarks>
		public Level LookupWithDefault(Level defaultLevel)
		{
			if (defaultLevel == null)
			{
				throw new ArgumentNullException("defaultLevel");
			}

			lock(this)
			{
				Level level = (Level)m_mapName2Level[defaultLevel.Name];
				if (level == null)
				{
					m_mapName2Level[defaultLevel.Name] = defaultLevel;
					return defaultLevel;
				}
				return level;
			}
		}
	}
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产一区二区三区av电影| 久久国产精品99久久人人澡| 亚洲成人精品在线观看| 国产精品一区二区91| 欧美色偷偷大香| 国产午夜久久久久| 喷水一区二区三区| 欧美视频中文一区二区三区在线观看| 精品国产乱码久久久久久夜甘婷婷 | 在线观看日韩高清av| 欧美精品一区二区三区蜜臀| 亚洲伊人色欲综合网| 成人精品视频一区二区三区| 欧美mv日韩mv国产网站app| 亚洲一区二区高清| 成+人+亚洲+综合天堂| 精品国产亚洲在线| 视频一区视频二区中文| 欧美亚洲日本一区| 136国产福利精品导航| 国产一区二区美女诱惑| 91精品国产综合久久精品麻豆 | 精品免费国产二区三区| 亚洲国产乱码最新视频| 色天使色偷偷av一区二区| 国产精品免费视频网站| 高清日韩电视剧大全免费| 久久久久综合网| 国内精品久久久久影院色| 日韩一区二区三| 蜜桃视频第一区免费观看| 欧美日韩精品专区| 亚洲午夜电影网| 欧美电影在哪看比较好| 午夜av一区二区三区| 欧美日韩久久久一区| 日本少妇一区二区| 日韩精品一区二区三区在线| 蜜臀久久久久久久| 日韩欧美三级在线| 激情欧美一区二区三区在线观看| 欧美刺激脚交jootjob| 久久99精品视频| 国产视频一区在线播放| 国产成人啪免费观看软件| 日本一区二区三区久久久久久久久不| 懂色av一区二区三区免费看| 国产精品伦理一区二区| 91女神在线视频| 亚洲成a人在线观看| 91麻豆精品国产自产在线观看一区| 亚洲成在线观看| 日韩欧美一区在线观看| 国产精品一区二区在线播放| 亚洲欧洲精品一区二区三区不卡| 欧美性做爰猛烈叫床潮| 蜜桃精品视频在线| 国产精品人成在线观看免费| 在线免费视频一区二区| 日韩电影在线一区二区三区| 久久综合色8888| 91网站黄www| 免费一级片91| 日韩毛片视频在线看| 4438x亚洲最大成人网| 国产高清视频一区| 亚洲自拍偷拍网站| 久久蜜桃av一区二区天堂| av一区二区不卡| 天使萌一区二区三区免费观看| 久久精品一区二区| 欧美色综合网站| 国产在线视频一区二区| 亚洲免费视频中文字幕| 久久久久久亚洲综合| 欧美伊人久久大香线蕉综合69| 久久精品国产77777蜜臀| 1000精品久久久久久久久| 91精品国产综合久久福利| 成人av在线观| 狠狠色2019综合网| 亚洲成人tv网| 国产精品国产自产拍高清av | 日韩视频一区二区| 99精品欧美一区二区三区小说| 日本美女一区二区三区| 亚洲色图20p| 国产婷婷色一区二区三区在线| 欧美精品日日鲁夜夜添| 99久久久免费精品国产一区二区| 美女视频黄久久| 亚洲va欧美va国产va天堂影院| 亚洲少妇30p| 欧美经典一区二区| 欧美mv日韩mv国产网站| 欧美日韩五月天| 91国偷自产一区二区三区成为亚洲经典| 国产美女一区二区| 蜜桃视频免费观看一区| 日韩成人免费电影| 亚洲成在线观看| 一区二区三区**美女毛片| 中文字幕日韩一区二区| 久久精品欧美日韩| 日韩免费成人网| 日韩一区二区三区观看| 欧美日韩国产天堂| 欧美午夜在线一二页| 在线观看区一区二| 一本色道久久综合亚洲aⅴ蜜桃| 成人黄色小视频在线观看| 国产成人av一区| 国产不卡视频在线观看| 成人妖精视频yjsp地址| 成人午夜av在线| 9色porny自拍视频一区二区| 不卡av免费在线观看| 99久久99久久精品免费看蜜桃| www.综合网.com| 在线亚洲一区二区| 欧美色中文字幕| 日韩西西人体444www| 精品国产乱码久久久久久蜜臀| 精品久久人人做人人爽| 久久久www成人免费无遮挡大片| 精品国精品国产| 中文字幕欧美激情| 亚洲美腿欧美偷拍| 五月激情综合网| 久久电影网电视剧免费观看| 国产麻豆午夜三级精品| 成人激情免费视频| 日本高清无吗v一区| 6080国产精品一区二区| 久久综合九色综合97婷婷| 国产欧美1区2区3区| 18欧美亚洲精品| 首页欧美精品中文字幕| 国产一区 二区| 在线观看欧美黄色| 欧美tk丨vk视频| 亚洲日本va在线观看| 午夜一区二区三区在线观看| 激情小说亚洲一区| 99re这里都是精品| 欧美一区二区三区啪啪| 日本一区二区成人| 亚洲va天堂va国产va久| 国产精品一区二区在线播放| 91久久精品网| 久久午夜羞羞影院免费观看| 亚洲卡通欧美制服中文| 国产一区二区精品在线观看| 99精品视频中文字幕| 欧美电影免费观看高清完整版在线 | 久久丝袜美腿综合| 亚洲黄色尤物视频| 麻豆精品国产91久久久久久| 99精品1区2区| www激情久久| 亚洲午夜一区二区三区| 成人看片黄a免费看在线| 91精品国产综合久久久蜜臀图片 | 色呦呦一区二区三区| 欧美xingq一区二区| 亚洲综合久久久| 不卡的看片网站| 精品日韩在线观看| 亚洲成人先锋电影| 91亚洲永久精品| 久久久精品欧美丰满| 婷婷中文字幕综合| 一本大道av一区二区在线播放| 久久综合九色综合久久久精品综合| 亚洲二区在线视频| 99精品欧美一区二区三区综合在线| 精品福利av导航| 日本不卡一区二区三区| 欧美色精品在线视频| 日韩理论片网站| 国产成+人+日韩+欧美+亚洲| 欧美一区二区观看视频| 午夜精品久久久久久久| 99热国产精品| 日韩一区中文字幕| 成人午夜激情影院| 久久精品视频一区二区| 精品写真视频在线观看| 日韩欧美中文一区| 蜜桃视频免费观看一区| 337p亚洲精品色噜噜| 亚洲一区二区美女| 欧美性xxxxxx少妇| 五月激情六月综合| 欧美日韩精品一二三区| 午夜免费久久看| 欧美日韩视频在线一区二区| 午夜视频一区二区| 91麻豆精品国产91久久久久久| 亚洲二区在线视频|