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

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

?? irepositoryselector.cs

?? 詳細講述了數據庫編程
?? 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.Reflection;

using log4net.Repository;

namespace log4net.Core
{
	#region LoggerRepositoryCreationEvent

	/// <summary>
	/// Delegate used to handle logger repository creation event notifications
	/// </summary>
	/// <param name="sender">The <see cref="IRepositorySelector"/> which created the repository.</param>
	/// <param name="e">The <see cref="LoggerRepositoryCreationEventArgs"/> event args
	/// that holds the <see cref="ILoggerRepository"/> instance that has been created.</param>
	/// <remarks>
	/// <para>
	/// Delegate used to handle logger repository creation event notifications.
	/// </para>
	/// </remarks>
	public delegate void LoggerRepositoryCreationEventHandler(object sender, LoggerRepositoryCreationEventArgs e);

	/// <summary>
	/// Provides data for the <see cref="IRepositorySelector.LoggerRepositoryCreatedEvent"/> event.
	/// </summary>
	/// <remarks>
	/// <para>
	/// A <see cref="IRepositorySelector.LoggerRepositoryCreatedEvent"/> 
	/// event is raised every time a <see cref="ILoggerRepository"/> is created.
	/// </para>
	/// </remarks>
	public class LoggerRepositoryCreationEventArgs : EventArgs
	{
		/// <summary>
		/// The <see cref="ILoggerRepository"/> created
		/// </summary>
		private ILoggerRepository m_repository;

		/// <summary>
		/// Construct instance using <see cref="ILoggerRepository"/> specified
		/// </summary>
		/// <param name="repository">the <see cref="ILoggerRepository"/> that has been created</param>
		/// <remarks>
		/// <para>
		/// Construct instance using <see cref="ILoggerRepository"/> specified
		/// </para>
		/// </remarks>
		public LoggerRepositoryCreationEventArgs(ILoggerRepository repository)
		{
			m_repository = repository;
		}

		/// <summary>
		/// The <see cref="ILoggerRepository"/> that has been created
		/// </summary>
		/// <value>
		/// The <see cref="ILoggerRepository"/> that has been created
		/// </value>
		/// <remarks>
		/// <para>
		/// The <see cref="ILoggerRepository"/> that has been created
		/// </para>
		/// </remarks>
		public ILoggerRepository LoggerRepository
		{
			get { return m_repository; }
		}
	}

	#endregion

	/// <summary>
	/// Interface used by the <see cref="LogManager"/> to select the <see cref="ILoggerRepository"/>.
	/// </summary>
	/// <remarks>
	/// <para>
	/// The <see cref="LogManager"/> uses a <see cref="IRepositorySelector"/> 
	/// to specify the policy for selecting the correct <see cref="ILoggerRepository"/> 
	/// to return to the caller.
	/// </para>
	/// </remarks>
	/// <author>Nicko Cadell</author>
	/// <author>Gert Driesen</author>
	public interface IRepositorySelector
	{
		/// <summary>
		/// Gets the <see cref="ILoggerRepository"/> for the specified assembly.
		/// </summary>
		/// <param name="assembly">The assembly to use to lookup to the <see cref="ILoggerRepository"/></param>
		/// <returns>The <see cref="ILoggerRepository"/> for the assembly.</returns>
		/// <remarks>
		/// <para>
		/// Gets the <see cref="ILoggerRepository"/> for the specified assembly.
		/// </para>
		/// <para>
		/// How the association between <see cref="Assembly"/> and <see cref="ILoggerRepository"/>
		/// is made is not defined. The implementation may choose any method for
		/// this association. The results of this method must be repeatable, i.e.
		/// when called again with the same arguments the result must be the
		/// save value.
		/// </para>
		/// </remarks>
		ILoggerRepository GetRepository(Assembly assembly);

		/// <summary>
		/// Gets the named <see cref="ILoggerRepository"/>.
		/// </summary>
		/// <param name="repositoryName">The name to use to lookup to the <see cref="ILoggerRepository"/>.</param>
		/// <returns>The named <see cref="ILoggerRepository"/></returns>
		/// <remarks>
		/// Lookup a named <see cref="ILoggerRepository"/>. This is the repository created by
		/// calling <see cref="CreateRepository(string,Type)"/>.
		/// </remarks>
		ILoggerRepository GetRepository(string repositoryName);

		/// <summary>
		/// Creates a new repository for the assembly specified.
		/// </summary>
		/// <param name="assembly">The assembly to use to create the domain to associate with the <see cref="ILoggerRepository"/>.</param>
		/// <param name="repositoryType">The type of repository to create, must implement <see cref="ILoggerRepository"/>.</param>
		/// <returns>The repository created.</returns>
		/// <remarks>
		/// <para>
		/// The <see cref="ILoggerRepository"/> created will be associated with the domain
		/// specified such that a call to <see cref="GetRepository(Assembly)"/> with the
		/// same assembly specified will return the same repository instance.
		/// </para>
		/// <para>
		/// How the association between <see cref="Assembly"/> and <see cref="ILoggerRepository"/>
		/// is made is not defined. The implementation may choose any method for
		/// this association.
		/// </para>
		/// </remarks>
		ILoggerRepository CreateRepository(Assembly assembly, Type repositoryType);

		/// <summary>
		/// Creates a new repository with the name specified.
		/// </summary>
		/// <param name="repositoryName">The name to associate with the <see cref="ILoggerRepository"/>.</param>
		/// <param name="repositoryType">The type of repository to create, must implement <see cref="ILoggerRepository"/>.</param>
		/// <returns>The repository created.</returns>
		/// <remarks>
		/// <para>
		/// The <see cref="ILoggerRepository"/> created will be associated with the name
		/// specified such that a call to <see cref="GetRepository(string)"/> with the
		/// same name will return the same repository instance.
		/// </para>
		/// </remarks>
		ILoggerRepository CreateRepository(string repositoryName, Type repositoryType);

		/// <summary>
		/// Test if a named repository exists
		/// </summary>
		/// <param name="repositoryName">the named repository to check</param>
		/// <returns><c>true</c> if the repository exists</returns>
		/// <remarks>
		/// <para>
		/// Test if a named repository exists. Use <see cref="CreateRepository(Assembly, Type)"/>
		/// to create a new repository and <see cref="GetRepository(Assembly)"/> to retrieve 
		/// a repository.
		/// </para>
		/// </remarks>
		bool ExistsRepository(string repositoryName);

		/// <summary>
		/// Gets an array of all currently defined repositories.
		/// </summary>
		/// <returns>
		/// An array of the <see cref="ILoggerRepository"/> instances created by 
		/// this <see cref="IRepositorySelector"/>.</returns>
		/// <remarks>
		/// <para>
		/// Gets an array of all of the repositories created by this selector.
		/// </para>
		/// </remarks>
		ILoggerRepository[] GetAllRepositories();

		/// <summary>
		/// Event to notify that a logger repository has been created.
		/// </summary>
		/// <value>
		/// Event to notify that a logger repository has been created.
		/// </value>
		/// <remarks>
		/// <para>
		/// Event raised when a new repository is created.
		/// The event source will be this selector. The event args will
		/// be a <see cref="LoggerRepositoryCreationEventArgs"/> which
		/// holds the newly created <see cref="ILoggerRepository"/>.
		/// </para>
		/// </remarks>
		event LoggerRepositoryCreationEventHandler LoggerRepositoryCreatedEvent;
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人午夜电影网站| 一本大道综合伊人精品热热| av午夜精品一区二区三区| 欧美日韩综合不卡| 国产精品白丝jk白祙喷水网站| 日韩精彩视频在线观看| 成人高清视频在线| 99久久精品久久久久久清纯| 欧美xxxx在线观看| 久久综合久久鬼色中文字| 欧美精品一区二区三区视频| 一区二区三区精品| 国产一区二区三区蝌蚪| 一本高清dvd不卡在线观看| 99精品国产热久久91蜜凸| 欧美xxxxxxxx| 欧美国产一区在线| 国产精品国产三级国产aⅴ中文| 国产精品视频观看| 一区二区三区中文在线| 成人精品一区二区三区四区 | 一区二区三区日韩欧美| 成人午夜短视频| 亚洲精品一区二区三区四区高清| 久久夜色精品国产噜噜av| 无吗不卡中文字幕| 欧美中文字幕一区二区三区| 亚洲人成网站精品片在线观看| 国产成人丝袜美腿| 欧美激情一区在线| 亚洲综合色网站| 91亚洲精华国产精华精华液| 综合欧美亚洲日本| 91免费看`日韩一区二区| 蜜臀av一区二区在线观看| 免费看日韩精品| 欧美精品日韩一区| 久久久久久久久97黄色工厂| 国产一区福利在线| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 国产清纯美女被跳蛋高潮一区二区久久w| 蜜桃视频一区二区三区| 欧美不卡一区二区| 国产精品99久久久| 国产精品乱子久久久久| 色偷偷久久人人79超碰人人澡 | 国产日韩欧美一区二区三区综合| 国产成人精品综合在线观看 | 成人h动漫精品| 自拍偷在线精品自拍偷无码专区| 一本到不卡免费一区二区| 午夜成人免费视频| 久久综合九色综合久久久精品综合| 国产美女主播视频一区| 在线视频亚洲一区| 亚洲va中文字幕| 欧美电影免费观看高清完整版在| 一区二区三区鲁丝不卡| 国产高清在线观看免费不卡| 国产精品久久综合| 精品一区二区在线免费观看| 欧美在线视频你懂得| 五月天视频一区| 久久久久久久免费视频了| 亚洲高清免费观看| 91色综合久久久久婷婷| 国产亚洲精久久久久久| 色婷婷亚洲一区二区三区| 欧美经典三级视频一区二区三区| 青娱乐精品在线视频| 国产欧美精品区一区二区三区| 久久精品99国产精品日本| 9191国产精品| 东方欧美亚洲色图在线| 国产视频视频一区| 国内精品国产三级国产a久久| 欧美喷水一区二区| 国产mv日韩mv欧美| 奇米影视7777精品一区二区| 中文字幕日本乱码精品影院| 久久久久久久网| 99久久伊人网影院| 久久精品网站免费观看| 欧美亚洲综合在线| jlzzjlzz欧美大全| 国产一区二区三区久久久| 亚洲综合成人网| 成人在线一区二区三区| 久久一夜天堂av一区二区三区| 一本在线高清不卡dvd| 亚洲精品自拍动漫在线| 国产精品伦理在线| 懂色av一区二区三区免费看| 裸体健美xxxx欧美裸体表演| 亚洲第一久久影院| 亚洲欧美国产高清| 中文一区一区三区高中清不卡| 日韩欧美亚洲国产另类| 欧美日韩国产中文| 久久国产视频网| 国产亚洲va综合人人澡精品| 91精品麻豆日日躁夜夜躁| 欧美日韩一区精品| 在线观看视频欧美| 免费成人深夜小野草| 国产偷国产偷亚洲高清人白洁| 欧美一二三区在线观看| 欧美色精品在线视频| 欧美色大人视频| 在线一区二区三区做爰视频网站| 99re这里只有精品视频首页| 成人动漫一区二区在线| 不卡视频在线看| 成人精品鲁一区一区二区| 国产成人精品亚洲午夜麻豆| 成人永久看片免费视频天堂| 国产成人一区在线| 99视频一区二区| 日本精品裸体写真集在线观看| 91福利在线看| 91精品国产91久久综合桃花| 日韩亚洲欧美一区二区三区| 欧美xxxx在线观看| 国产欧美精品一区二区三区四区| 国产精品妹子av| 日韩伦理av电影| 亚洲一区二区三区四区不卡| 五月婷婷另类国产| 欧美激情资源网| 欧美日韩国产高清一区二区三区| 国产乱人伦偷精品视频不卡| 国产成人精品1024| 亚洲v中文字幕| 美女www一区二区| 成人伦理片在线| 国产在线视频一区二区| 国产成人亚洲综合a∨猫咪| 成人av午夜电影| 欧美色倩网站大全免费| 91视频免费看| 欧美日韩国产一级片| 久久免费偷拍视频| 一级女性全黄久久生活片免费| 久久久99久久精品欧美| 4438x成人网最大色成网站| 亚洲精品在线免费观看视频| 国产精品美女www爽爽爽| 一区二区三区 在线观看视频| 热久久久久久久| 午夜成人免费电影| 成人小视频免费观看| 国产一区二区三区观看| 美女国产一区二区| 91色在线porny| 日韩精品一区二区三区视频| 91麻豆精品国产| 日本一二三不卡| 久久久久久久网| 国产视频一区二区在线| 亚洲国产aⅴ天堂久久| 国产夫妻精品视频| 欧美日韩国产系列| 国产精品全国免费观看高清| 久久精品国产一区二区三区免费看| 一个色在线综合| 精品无人码麻豆乱码1区2区| 欧美综合一区二区| 国产日韩欧美a| 人人爽香蕉精品| 欧美亚洲尤物久久| ...中文天堂在线一区| 国产日韩精品一区二区三区在线| 日本午夜精品一区二区三区电影 | 日韩欧美国产不卡| 亚洲图片一区二区| 99久久伊人网影院| 日本一区二区三级电影在线观看| 欧美成人一区二区三区片免费 | 久久99最新地址| 欧美三级欧美一级| 亚洲免费观看高清完整版在线观看| 国产精品自拍三区| 国产乱一区二区| 欧美一区二区久久久| 精品国产乱码91久久久久久网站| 2014亚洲片线观看视频免费| 日韩激情视频在线观看| 欧美亚洲尤物久久| 亚洲一区二区三区四区的| 日韩国产在线一| 91黄色激情网站| 日韩一级在线观看| 精品欧美一区二区久久| 日本欧美在线观看| 日韩欧美123| 精品一区二区久久| 久久综合中文字幕| 亚洲免费观看高清完整版在线观看| www.欧美日韩国产在线| 欧美精品高清视频|