亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
欧美精品黑人性xxxx| 亚洲制服丝袜av| 精品无码三级在线观看视频| 欧美喷潮久久久xxxxx| 亚洲一区中文在线| 欧美视频中文字幕| 三级一区在线视频先锋| 欧美一区二区三区视频在线| 日本成人在线网站| 欧美一级高清片| 国内国产精品久久| 欧美极品aⅴ影院| 91小视频在线免费看| 亚洲一区在线播放| 日韩欧美一区在线观看| 国产呦萝稀缺另类资源| 国产精品美女久久久久久久久久久| 成人黄色av电影| 亚洲午夜久久久久中文字幕久| 欧美日韩在线电影| 玖玖九九国产精品| 国产精品污网站| 91久久精品一区二区| 青草av.久久免费一区| 26uuu另类欧美亚洲曰本| 日本不卡视频在线| 国产精品色婷婷| 欧美日韩一区成人| 国产乱人伦偷精品视频免下载| 中文字幕一区二区三区不卡| 欧美视频第二页| 激情伊人五月天久久综合| 自拍视频在线观看一区二区| 91精品国产综合久久久蜜臀图片 | 狠狠色丁香婷综合久久| 中文字幕国产一区| 欧美男人的天堂一二区| 国产一区二区日韩精品| 一区二区欧美在线观看| 久久这里只精品最新地址| 91成人网在线| 国产精品亚洲第一区在线暖暖韩国 | 欧美性生活一区| 国产中文字幕精品| 亚洲福利视频三区| 中文字幕av不卡| 亚洲视频图片小说| 欧美熟乱第一页| 不卡在线观看av| 日本视频免费一区| 一卡二卡欧美日韩| 久久午夜羞羞影院免费观看| 欧美三区在线观看| bt欧美亚洲午夜电影天堂| 日本大胆欧美人术艺术动态| 一区二区三区四区中文字幕| 欧美激情一二三区| 日韩精品一区二区三区蜜臀 | 欧美综合亚洲图片综合区| 国产乱色国产精品免费视频| 免费在线观看日韩欧美| 午夜电影一区二区三区| 亚洲欧美日本韩国| 国产免费成人在线视频| 精品国产免费人成电影在线观看四季| 欧美在线你懂得| 色综合久久中文字幕综合网| 国产aⅴ综合色| 国产一区不卡视频| 国产主播一区二区| 麻豆精品一区二区综合av| 亚洲图片自拍偷拍| 亚洲一级二级在线| 一区二区三区欧美在线观看| 综合色中文字幕| 亚洲视频在线一区| 国产精品久久久久久福利一牛影视| 久久久综合视频| 欧美精品一区二区不卡| 精品国产亚洲在线| 精品国偷自产国产一区| 精品嫩草影院久久| 精品成人在线观看| 久久天天做天天爱综合色| 欧美xfplay| 久久丝袜美腿综合| 国产精品乱码人人做人人爱| 日本一区二区三级电影在线观看 | 久久99国产精品久久99果冻传媒| 免费三级欧美电影| 国产自产v一区二区三区c| 国产一区二区在线电影| 国产精品白丝jk白祙喷水网站| 国产在线精品一区二区夜色| 国产精品一线二线三线| 成人激情小说乱人伦| av在线不卡网| 欧美影片第一页| 欧美一区二区三区不卡| 精品国产乱码久久久久久蜜臀 | 久久久精品欧美丰满| 国产精品传媒入口麻豆| 亚洲精品亚洲人成人网在线播放| 一区二区三区四区不卡视频| 亚洲gay无套男同| 免费视频最近日韩| 福利电影一区二区| 在线日韩一区二区| 欧美一区二区视频在线观看2022 | 成人黄色片在线观看| 91视视频在线观看入口直接观看www | 2024国产精品| 中文字幕一区二区三区不卡| 亚洲成av人综合在线观看| 国产真实精品久久二三区| 91社区在线播放| 日韩一区二区免费电影| 国产人成亚洲第一网站在线播放 | 亚洲电影在线播放| 国产精品中文有码| 色久优优欧美色久优优| 欧美大片免费久久精品三p| 亚洲婷婷综合色高清在线| 日本不卡一二三区黄网| 91色九色蝌蚪| 精品国产一区二区三区不卡| 亚洲三级小视频| 麻豆国产精品官网| 97久久久精品综合88久久| 欧美一区二区三区日韩视频| 中文字幕 久热精品 视频在线 | 26uuu精品一区二区在线观看| 亚洲精品福利视频网站| 国产综合色视频| 欧美日韩一二三区| 国产精品每日更新| 久久爱另类一区二区小说| 91久久一区二区| 国产精品免费久久| 久久综合综合久久综合| 欧美日韩激情在线| 亚洲女爱视频在线| 成人免费毛片app| 久久影院午夜片一区| 奇米影视一区二区三区| 91传媒视频在线播放| 日韩理论在线观看| 成人av在线看| 久久久不卡影院| 精品午夜久久福利影院| 正在播放亚洲一区| 亚洲猫色日本管| 国产专区欧美精品| 欧美日韩精品系列| 日韩欧美一区二区在线视频| 国产精品情趣视频| 精品在线免费视频| 欧美日韩国产一级| 国产精品久久久久久久裸模 | 激情五月播播久久久精品| 欧美午夜一区二区三区| 777色狠狠一区二区三区| 亚洲福利电影网| 一本色道**综合亚洲精品蜜桃冫| 亚洲精品在线观看网站| 亚洲午夜一区二区三区| 精品视频免费在线| 亚洲精品国产视频| 成人激情小说网站| 亚洲精品一区在线观看| 日本在线不卡视频一二三区| 日本精品视频一区二区三区| 国产精品久久看| 99re亚洲国产精品| 中文字幕 久热精品 视频在线| 韩国三级中文字幕hd久久精品| 欧美高清视频在线高清观看mv色露露十八| 亚洲综合色网站| 色综合激情五月| 亚洲精品日韩专区silk| 丁香网亚洲国际| 亚洲女人小视频在线观看| 91碰在线视频| 亚洲色图制服丝袜| 欧美午夜一区二区| 亚洲国产精品精华液网站| 欧日韩精品视频| 中文字幕日本乱码精品影院| 在线视频你懂得一区| 亚洲另类春色校园小说| 一本久久综合亚洲鲁鲁五月天| 欧美激情一区不卡| 99视频精品全部免费在线| 亚洲视频一区在线观看| 在线一区二区观看| 麻豆精品蜜桃视频网站| 337p粉嫩大胆噜噜噜噜噜91av| 国产一区二区三区精品欧美日韩一区二区三区| 欧美不卡在线视频| 国产成人av影院|