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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? level.cs

?? 詳細講述了數據庫編程
?? CS
?? 第 1 頁 / 共 2 頁
字號:
#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;

namespace log4net.Core
{
	/// <summary>
	/// Defines the default set of levels recognized by the system.
	/// </summary>
	/// <remarks>
	/// <para>
	/// Each <see cref="LoggingEvent"/> has an associated <see cref="Level"/>.
	/// </para>
	/// <para>
	/// Levels have a numeric <see cref="Level.Value"/> that defines the relative 
	/// ordering between levels. Two Levels with the same <see cref="Level.Value"/> 
	/// are deemed to be equivalent.
	/// </para>
	/// <para>
	/// The levels that are recognized by log4net are set for each <see cref="log4net.Repository.ILoggerRepository"/>
	/// and each repository can have different levels defined. The levels are stored
	/// in the <see cref="log4net.Repository.ILoggerRepository.LevelMap"/> on the repository. Levels are
	/// looked up by name from the <see cref="log4net.Repository.ILoggerRepository.LevelMap"/>.
	/// </para>
	/// <para>
	/// When logging at level INFO the actual level used is not <see cref="Level.Info"/> but
	/// the value of <c>LoggerRepository.LevelMap["INFO"]</c>. The default value for this is
	/// <see cref="Level.Info"/>, but this can be changed by reconfiguring the level map.
	/// </para>
	/// <para>
	/// Each level has a <see cref="DisplayName"/> in addition to its <see cref="Name"/>. The 
	/// <see cref="DisplayName"/> is the string that is written into the output log. By default
	/// the display name is the same as the level name, but this can be used to alias levels
	/// or to localize the log output.
	/// </para>
	/// <para>
	/// Some of the predefined levels recognized by the system are:
	/// </para>
	/// <list type="bullet">
	///		<item>
	///			<description><see cref="Off"/>.</description>
	///		</item>
	///		<item>
	///			<description><see cref="Fatal"/>.</description>
	///		</item>
	///		<item>
	///			<description><see cref="Error"/>.</description>
	///		</item>
	///		<item>
	///			<description><see cref="Warn"/>.</description>
	///		</item>
	///		<item>
	///			<description><see cref="Info"/>.</description>
	///		</item>
	///		<item>
	///			<description><see cref="Debug"/>.</description>
	///		</item>
	///		<item>
	///			<description><see cref="All"/>.</description>
	///		</item>
	/// </list>
	/// </remarks>
	/// <author>Nicko Cadell</author>
	/// <author>Gert Driesen</author>
#if !NETCF
	[Serializable]
#endif
	sealed public class Level : IComparable
	{
		#region Public Instance Constructors

		/// <summary>
		/// Constructor
		/// </summary>
		/// <param name="level">Integer value for this level, higher values represent more severe levels.</param>
		/// <param name="levelName">The string name of this level.</param>
		/// <param name="displayName">The display name for this level. This may be localized or otherwise different from the name</param>
		/// <remarks>
		/// <para>
		/// Initializes a new instance of the <see cref="Level" /> class with
		/// the specified level name and value.
		/// </para>
		/// </remarks>
		public Level(int level, string levelName, string displayName) 
		{
			if (levelName == null)
			{
				throw new ArgumentNullException("levelName");
			}
			if (displayName == null)
			{
				throw new ArgumentNullException("displayName");
			}

			m_levelValue = level;
			m_levelName = string.Intern(levelName);
			m_levelDisplayName = displayName;
		}

		/// <summary>
		/// Constructor
		/// </summary>
		/// <param name="level">Integer value for this level, higher values represent more severe levels.</param>
		/// <param name="levelName">The string name of this level.</param>
		/// <remarks>
		/// <para>
		/// Initializes a new instance of the <see cref="Level" /> class with
		/// the specified level name and value.
		/// </para>
		/// </remarks>
		public Level(int level, string levelName) : this(level, levelName, levelName)
		{
		}

		#endregion Public Instance Constructors

		#region Public Instance Properties

		/// <summary>
		/// Gets the name of this level.
		/// </summary>
		/// <value>
		/// The name of this level.
		/// </value>
		/// <remarks>
		/// <para>
		/// Gets the name of this level.
		/// </para>
		/// </remarks>
		public string Name
		{
			get { return m_levelName; }
		}

		/// <summary>
		/// Gets the value of this level.
		/// </summary>
		/// <value>
		/// The value of this level.
		/// </value>
		/// <remarks>
		/// <para>
		/// Gets the value of this level.
		/// </para>
		/// </remarks>
		public int Value
		{
			get { return m_levelValue; }
		}

		/// <summary>
		/// Gets the display name of this level.
		/// </summary>
		/// <value>
		/// The display name of this level.
		/// </value>
		/// <remarks>
		/// <para>
		/// Gets the display name of this level.
		/// </para>
		/// </remarks>
		public string DisplayName
		{
			get { return m_levelDisplayName; }
		}

		#endregion Public Instance Properties

		#region Override implementation of Object

		/// <summary>
		/// Returns the <see cref="string" /> representation of the current 
		/// <see cref="Level" />.
		/// </summary>
		/// <returns>
		/// A <see cref="string" /> representation of the current <see cref="Level" />.
		/// </returns>
		/// <remarks>
		/// <para>
		/// Returns the level <see cref="Name"/>.
		/// </para>
		/// </remarks>
		override public string ToString() 
		{
			return m_levelName;
		}

		/// <summary>
		/// Compares levels.
		/// </summary>
		/// <param name="o">The object to compare against.</param>
		/// <returns><c>true</c> if the objects are equal.</returns>
		/// <remarks>
		/// <para>
		/// Compares the levels of <see cref="Level" /> instances, and 
		/// defers to base class if the target object is not a <see cref="Level" />
		/// instance.
		/// </para>
		/// </remarks>
		override public bool Equals(object o)
		{
			Level otherLevel = o as Level;
			if (otherLevel != null)
			{
				return m_levelValue == otherLevel.m_levelValue;
			}
			else
			{
				return base.Equals(o);
			}
		}

		/// <summary>
		/// Returns a hash code
		/// </summary>
		/// <returns>A hash code for the current <see cref="Level" />.</returns>
		/// <remarks>
		/// <para>
		/// Returns a hash code suitable for use in hashing algorithms and data 
		/// structures like a hash table.
		/// </para>
		/// <para>
		/// Returns the hash code of the level <see cref="Value"/>.
		/// </para>
		/// </remarks>
		override public int GetHashCode()
		{
			return m_levelValue;
		}

		#endregion Override implementation of Object

		#region Implementation of IComparable

		/// <summary>
		/// Compares this instance to a specified object and returns an 
		/// indication of their relative values.
		/// </summary>
		/// <param name="r">A <see cref="Level"/> instance or <see langword="null" /> to compare with this instance.</param>
		/// <returns>
		/// A 32-bit signed integer that indicates the relative order of the 
		/// values compared. The return value has these meanings:
		/// <list type="table">
		///		<listheader>
		///			<term>Value</term>
		///			<description>Meaning</description>
		///		</listheader>
		///		<item>
		///			<term>Less than zero</term>
		///			<description>This instance is less than <paramref name="r" />.</description>
		///		</item>
		///		<item>
		///			<term>Zero</term>
		///			<description>This instance is equal to <paramref name="r" />.</description>
		///		</item>
		///		<item>
		///			<term>Greater than zero</term>
		///			<description>
		///				<para>This instance is greater than <paramref name="r" />.</para>
		///				<para>-or-</para>
		///				<para><paramref name="r" /> is <see langword="null" />.</para>
		///				</description>
		///		</item>
		/// </list>
		/// </returns>
		/// <remarks>
		/// <para>
		/// <paramref name="r" /> must be an instance of <see cref="Level" /> 
		/// or <see langword="null" />; otherwise, an exception is thrown.
		/// </para>
		/// </remarks>
		/// <exception cref="ArgumentException"><paramref name="r" /> is not a <see cref="Level" />.</exception>
		public int CompareTo(object r)
		{
			Level target = r as Level;
			if (target != null)
			{
				return Compare(this, target);
			}
			throw new ArgumentException("Parameter: r, Value: [" + r + "] is not an instance of Level");
		}

		#endregion Implementation of IComparable

		#region Operators

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久国产精品不卡| 国内不卡的二区三区中文字幕| 青青国产91久久久久久| 国产乱国产乱300精品| 欧美撒尿777hd撒尿| 亚洲国产高清在线观看视频| 午夜电影久久久| 色国产综合视频| 国产精品久久久久久妇女6080| 免费在线视频一区| 欧美体内she精高潮| 最新日韩在线视频| 国产一区二区调教| 91精品在线一区二区| 一区二区三区蜜桃| 91女厕偷拍女厕偷拍高清| 久久综合色综合88| 久久国产日韩欧美精品| 欧美性生活久久| 亚洲欧美色综合| 成人国产在线观看| 国产日韩欧美制服另类| 激情综合色播激情啊| 日韩午夜小视频| 青娱乐精品视频| 91精品国产麻豆国产自产在线| 一区二区高清视频在线观看| 9久草视频在线视频精品| 欧美激情一区二区三区| 国产激情视频一区二区三区欧美| 欧美白人最猛性xxxxx69交| 日本在线播放一区二区三区| 欧美精品日韩一本| 日韩福利视频网| 在线播放日韩导航| 免费观看一级欧美片| 日韩欧美激情四射| 国产剧情一区在线| 久久免费电影网| 成人免费视频视频在线观看免费| 国产日韩精品视频一区| 成人激情午夜影院| 亚洲色图在线播放| 色狠狠一区二区| 视频在线观看国产精品| 日韩欧美成人激情| 国产成人夜色高潮福利影视| 中文字幕欧美日韩一区| 91蝌蚪国产九色| 午夜亚洲福利老司机| 日韩欧美成人午夜| 成人免费高清视频在线观看| 亚洲欧美日韩人成在线播放| 欧美性猛交xxxxxxxx| 日本视频一区二区三区| 久久久精品影视| 色欧美片视频在线观看| 天天av天天翘天天综合网 | 日日摸夜夜添夜夜添亚洲女人| 欧美影院午夜播放| 免费成人你懂的| 亚洲国产成人自拍| 欧美日韩一区高清| 国产在线一区二区综合免费视频| 国产精品理论片在线观看| 色婷婷综合久久久久中文 | 亚洲欧美电影一区二区| 欧美色精品在线视频| 精品一区在线看| 亚洲天堂福利av| 欧美一区二区三区白人| 国产成人午夜高潮毛片| 悠悠色在线精品| 2020日本不卡一区二区视频| 91丨九色丨黑人外教| 五月综合激情网| 国产精品久久看| 91精品国产综合久久婷婷香蕉| 国产成人午夜99999| 午夜国产不卡在线观看视频| 中文字幕av免费专区久久| 3d动漫精品啪啪1区2区免费| 99视频在线观看一区三区| 蜜臀精品一区二区三区在线观看| 国产精品护士白丝一区av| 4hu四虎永久在线影院成人| 波多野结衣在线aⅴ中文字幕不卡| 日韩黄色小视频| 亚洲综合丝袜美腿| 欧美激情在线免费观看| 日韩欧美一区二区不卡| 欧美日韩一二三区| 91在线视频观看| 国产福利视频一区二区三区| 日本伊人午夜精品| 亚洲va欧美va国产va天堂影院| 国产精品白丝在线| 国产网站一区二区三区| 91精品国产综合久久久久久| 一本大道久久a久久综合| 国产成人免费网站| 久99久精品视频免费观看| 日韩电影在线免费看| 亚洲图片有声小说| 樱桃国产成人精品视频| 亚洲免费观看高清完整版在线观看| 久久九九久久九九| 久久蜜桃香蕉精品一区二区三区| 日韩一区二区三区视频| 欧美一区二区私人影院日本| 精品视频色一区| 欧美性受xxxx| 欧美日韩精品综合在线| 欧美性感一类影片在线播放| 欧洲人成人精品| 欧洲av在线精品| 欧美日本视频在线| 91精品中文字幕一区二区三区| 欧美欧美午夜aⅴ在线观看| 欧美日韩成人在线| 日韩一区二区在线播放| 久久综合久久99| 久久久久久久性| 国产精品第一页第二页第三页 | 久久精品男人天堂av| 26uuu亚洲综合色欧美| 久久综合九色综合欧美98| 国产午夜精品福利| 欧美国产1区2区| 亚洲欧美日韩中文播放| 亚洲高清不卡在线观看| 热久久一区二区| 国产一区二区导航在线播放| 国产成人精品亚洲777人妖| 国产suv一区二区三区88区| 成人免费毛片aaaaa**| 91高清视频在线| 日韩一区二区三区精品视频| 精品国产网站在线观看| 国产色综合一区| 一区二区三区中文字幕电影| 青青草97国产精品免费观看| 国产乱淫av一区二区三区| 一本久道久久综合中文字幕 | 色婷婷综合久久| 91精品国产综合久久久久久久 | 国产一二三精品| 91首页免费视频| 91精品国产综合久久香蕉麻豆| 久久女同精品一区二区| 自拍偷在线精品自拍偷无码专区| 亚洲18女电影在线观看| 国内国产精品久久| 欧美在线一二三四区| 久久久美女艺术照精彩视频福利播放| 国产精品国产三级国产aⅴ原创| 亚洲午夜影视影院在线观看| 国产一二三精品| 欧美电影一区二区| 亚洲欧洲日本在线| 欧美aaaaa成人免费观看视频| 99精品在线免费| 日韩三级电影网址| 一区二区三区国产| 国产精品一区二区久激情瑜伽| 欧美在线观看视频一区二区| 午夜精品久久久久久久久久| 国产精品99精品久久免费| 欧美日韩一区 二区 三区 久久精品 | 国产成人精品一区二| 欧美日韩一区久久| 中文字幕一区不卡| 国产一区在线不卡| 91精品黄色片免费大全| 亚洲精品国产无天堂网2021| 国产一区二区三区国产| 欧美精品在线观看播放| 亚洲欧美精品午睡沙发| 国产成人无遮挡在线视频| 欧美成人精品高清在线播放| 亚洲国产精品影院| 91丨九色丨国产丨porny| 久久久国际精品| 狠狠狠色丁香婷婷综合激情| 3atv一区二区三区| 亚洲国产中文字幕在线视频综合| 成人性色生活片| 久久亚洲精品国产精品紫薇| 麻豆精品一区二区av白丝在线| 欧美影视一区在线| 一区二区三区小说| 99精品视频一区二区三区| 国产精品少妇自拍| 成人一区二区三区中文字幕| 久久麻豆一区二区| 国内精品国产成人国产三级粉色| 欧美电影免费观看高清完整版| 舔着乳尖日韩一区| 欧美日韩一本到| 日日夜夜精品视频天天综合网|