﻿<html xmlns:MSHelp="http://msdn.microsoft.com/mshelp" xmlns:mshelp="http://msdn.microsoft.com/mshelp"><head><link rel="SHORTCUT ICON" href="./../icons/favicon.ico" /><style type="text/css">.OH_CodeSnippetContainerTabLeftActive, .OH_CodeSnippetContainerTabLeft,.OH_CodeSnippetContainerTabLeftDisabled { backgroundImageName: tabLeftBG.gif; }.OH_CodeSnippetContainerTabRightActive, .OH_CodeSnippetContainerTabRight,.OH_CodeSnippetContainerTabRightDisabled { backgroundImageName: tabRightBG.gif; }.OH_footer { backgroundImageName: footer_slice.gif; background-position: top; background-repeat: repeat-x; }</style><link rel="stylesheet" type="text/css" href="./../styles/branding.css" /><link rel="stylesheet" type="text/css" href="./../styles/branding-en-US.css" /><style type="text/css">
			body
			{
			border-left:5px solid #e6e6e6;
			overflow-x:scroll;
			overflow-y:scroll;
			}
		</style><script src="./../scripts/branding.js" type="text/javascript"><!----></script><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>DefaultRepositorySelector.GetRepository Method (Assembly)</title><meta name="Language" content="en-us" /><meta name="Microsoft.Help.Id" content="M:log4net.Core.DefaultRepositorySelector.GetRepository(System.Reflection.Assembly)" /><meta name="Description" content="Gets the for the specified assembly." /><meta name="Microsoft.Help.ContentType" content="Reference" /><meta name="BrandingAware" content="'true'" /><meta name="container" content="log4net.Core" /><meta name="file" content="M_log4net_Core_DefaultRepositorySelector_GetRepository" /><meta name="guid" content="M_log4net_Core_DefaultRepositorySelector_GetRepository" /><link type="text/css" rel="stylesheet" href="ms-help://Hx/HxRuntime/HxLink.css" /><meta name="SelfBranded" content="true" /></head><body onload="onLoad()" class="primary-mtps-offline-document"><div class="OH_outerDiv"><div class="OH_outerContent"><table class="TitleTable"><tr><td class="OH_tdTitleColumn">DefaultRepositorySelector<span id="ID0EBBABAAA"> </span><script type="text/javascript">
					addToLanSpecTextIdSet("ID0EBBABAAA?vb=.|cpp=::|cs=.|fs=.|nu=.");
				</script>GetRepository Method (Assembly)</td><td class="OH_tdRunningTitleColumn">Apache log4net™ SDK Documentation</td></tr></table><div id="mainSection"><div id="mainBody"><span class="introStyle"></span><div class="summary">
            Gets the <a href="T_log4net_Repository_ILoggerRepository.htm" target="">ILoggerRepository</a> for the specified assembly.
            </div><p></p><b>Namespace:</b> <a href="N_log4net_Core.htm" target="">log4net.Core</a><br /><b>Assembly:</b> <span sdata="assembly">log4net</span> (in log4net.dll) Version: 1.2.14.0 (1.2.14.0)<div class="OH_CollapsibleAreaRegion"><div class="OH_regiontitle">Syntax</div><div class="OH_CollapsibleArea_HrDiv"><hr class="OH_CollapsibleArea_Hr" /></div></div><div class="OH_clear"></div><div id="snippetGroup_Syntax" class="code"><div id="ID0ECLEAAAAA" class="OH_CodeSnippetContainer"><div class="OH_CodeSnippetContainerTabs" id="ID0ECLEAAAAA_tabs"><div class="OH_CodeSnippetContainerTabLeftActive" id="ID0ECLEAAAAA_tabimgleft"></div><div id="ID0ECLEAAAAA_tab1" class="OH_CodeSnippetContainerTabActive" EnableCopyCode="true"><a href="#" onclick="javascript:ChangeTab('ID0ECLEAAAAA','C#','1','4');return false;">C#</a></div><div id="ID0ECLEAAAAA_tab2" class="OH_CodeSnippetContainerTab" EnableCopyCode="true"><a href="#" onclick="javascript:ChangeTab('ID0ECLEAAAAA','Visual Basic','2','4');return false;">VB</a></div><div id="ID0ECLEAAAAA_tab3" class="OH_CodeSnippetContainerTab" EnableCopyCode="true"><a href="#" onclick="javascript:ChangeTab('ID0ECLEAAAAA','Visual C++','3','4');return false;">C++</a></div><div id="ID0ECLEAAAAA_tab4" class="OH_CodeSnippetContainerTabDisabledNotFirst" EnableCopyCode="true" disabled="true"><a>F#</a></div><div class="OH_CodeSnippetContainerTabRight" id="ID0ECLEAAAAA_tabimgright"></div></div><div id="ID0ECLEAAAAA_codecollection" class="OH_CodeSnippetContainerCodeCollection"><div class="OH_CodeSnippetToolBar"><div class="OH_CodeSnippetToolBarText"><a id="ID0ECLEAAAAA_ViewColorized" href="#" onclick="javascript:ExchangeTitleContent('ID0ECLEAAAAA','4')" title="View Colorized" style="display: none">View Colorized</a><a id="ID0ECLEAAAAA_copycode" href="#" onclick="javascript:CopyToClipboard('ID0ECLEAAAAA','4')" title="Copy to Clipboard">Copy to Clipboard</a><a id="ID0ECLEAAAAA_PrintText" class="OH_PrintText" href="#" onclick="javascript:Print('ID0ECLEAAAAA','4')" title="Print">Print</a></div></div><div id="ID0ECLEAAAAA_code_Div1" class="OH_CodeSnippetContainerCode" style="display: block"><pre><span class="keyword">public</span> <span class="identifier">ILoggerRepository</span> <span class="identifier">GetRepository</span>(
	<span class="identifier">Assembly</span> <span class="parameter">repositoryAssembly</span>
)</pre></div><div id="ID0ECLEAAAAA_code_Plain_Div1" class="OH_CodeSnippetContainerCode" style="display: none"><pre>public ILoggerRepository GetRepository(
	Assembly repositoryAssembly
)</pre></div><div id="ID0ECLEAAAAA_code_Div2" class="OH_CodeSnippetContainerCode" style="display: none"><pre><span class="keyword">Public</span> <span class="keyword">Function</span> <span class="identifier">GetRepository</span> ( 
	<span class="parameter">repositoryAssembly</span> <span class="keyword">As</span> <span class="identifier">Assembly</span>
) <span class="keyword">As</span> <span class="identifier">ILoggerRepository</span></pre></div><div id="ID0ECLEAAAAA_code_Plain_Div2" class="OH_CodeSnippetContainerCode" style="display: none"><pre>Public Function GetRepository ( 
	repositoryAssembly As Assembly
) As ILoggerRepository</pre></div><div id="ID0ECLEAAAAA_code_Div3" class="OH_CodeSnippetContainerCode" style="display: none"><pre><span class="keyword">public</span>:
<span class="keyword">virtual</span> <span class="identifier">ILoggerRepository</span>^ <span class="identifier">GetRepository</span>(
	<span class="identifier">Assembly</span>^ <span class="parameter">repositoryAssembly</span>
) <span class="keyword">sealed</span></pre></div><div id="ID0ECLEAAAAA_code_Plain_Div3" class="OH_CodeSnippetContainerCode" style="display: none"><pre>public:
virtual ILoggerRepository^ GetRepository(
	Assembly^ repositoryAssembly
) sealed</pre></div><div id="ID0ECLEAAAAA_code_Div4" class="OH_CodeSnippetContainerCode" style="display: none"><pre /></div><div id="ID0ECLEAAAAA_code_Plain_Div4" class="OH_CodeSnippetContainerCode" style="display: none"><pre /></div></div></div><script>addSpecificTextLanguageTagSet('ID0ECLEAAAAA');</script></div><div id="parameters"><h4 class="subHeading">Parameters</h4><dl paramName="repositoryAssembly"><dt><span class="parameter">repositoryAssembly</span></dt><dd>Type: <img src="./../icons/online_icon.gif" class="OH_offlineIcon" alt="Online" title="Online" /><a href="http://msdn2.microsoft.com/en-us/library/xbe1wdx9" target="_blank">System.Reflection<span id="ID0EBCAAKEAAAAA"> </span><script type="text/javascript">
					addToLanSpecTextIdSet("ID0EBCAAKEAAAAA?vb=.|cpp=::|cs=.|fs=.|nu=.");
				</script>Assembly</a><br /><span>The assembly use to lookup the <a href="T_log4net_Repository_ILoggerRepository.htm" target="">ILoggerRepository</a>.</span></dd></dl></div><h4 class="subHeading">Return Value</h4>Type: <a href="T_log4net_Repository_ILoggerRepository.htm" target="">ILoggerRepository</a><br />The <a href="T_log4net_Repository_ILoggerRepository.htm" target="">ILoggerRepository</a> for the assembly<h4 class="subHeading">Implements</h4><a href="M_log4net_Core_IRepositorySelector_GetRepository.htm" target="">IRepositorySelector<span id="ID0EBBEAAAAA"> </span><script type="text/javascript">
					addToLanSpecTextIdSet("ID0EBBEAAAAA?vb=.|cpp=::|cs=.|fs=.|nu=.");
				</script>GetRepository(Assembly)</a><br /><div class="OH_CollapsibleAreaRegion"><div class="OH_regiontitle">Exceptions</div><div class="OH_CollapsibleArea_HrDiv"><hr class="OH_CollapsibleArea_Hr" /></div></div><div class="OH_clear"></div><div class="tableSection"><table><tr><th class="ps_exceptionNameColumn">Exception</th><th class="ps_exceptionConditionColumn">Condition</th></tr><tr><td><img src="./../icons/online_icon.gif" class="OH_offlineIcon" alt="Online" title="Online" /><a href="http://msdn2.microsoft.com/en-us/library/27426hcy" target="_blank">System<span id="ID0EBABAAADAAAAA"> </span><script type="text/javascript">
					addToLanSpecTextIdSet("ID0EBABAAADAAAAA?vb=.|cpp=::|cs=.|fs=.|nu=.");
				</script>ArgumentNullException</a></td><td><span class="parameter">repositoryAssembly</span> is <span sdata="langKeyword" value="null"><span class="keyword"><span id="ID0EAABAAAADAAAAA"> </span><script type="text/javascript">
					addToLanSpecTextIdSet("ID0EAABAAAADAAAAA?vb=Nothing|cpp=nullptr|cs=null|fs=unit|nu=null");
				</script></span></span>.</td></tr></table></div><div class="OH_CollapsibleAreaRegion"><div class="OH_regiontitle">Remarks</div><div class="OH_CollapsibleArea_HrDiv"><hr class="OH_CollapsibleArea_Hr" /></div></div><div class="OH_clear"></div><p>
            The type of the <a href="T_log4net_Repository_ILoggerRepository.htm" target="">ILoggerRepository</a> created and the repository 
            to create can be overridden by specifying the <a href="T_log4net_Config_RepositoryAttribute.htm" target="">RepositoryAttribute</a> 
            attribute on the <span class="parameter">repositoryAssembly</span>.
            </p><p>
            The default values are to use the <a href="T_log4net_Repository_Hierarchy_Hierarchy.htm" target="">Hierarchy</a> 
            implementation of the <a href="T_log4net_Repository_ILoggerRepository.htm" target="">ILoggerRepository</a> interface and to use the
            <img src="./../icons/online_icon.gif" class="OH_offlineIcon" alt="Online" title="Online" /><a href="http://msdn2.microsoft.com/en-us/library/8yd480ef" target="_blank">Name</a> as the name of the repository.
            </p><p>
            The <a href="T_log4net_Repository_ILoggerRepository.htm" target="">ILoggerRepository</a> created will be automatically configured using 
            any <a href="T_log4net_Config_ConfiguratorAttribute.htm" target="">ConfiguratorAttribute</a> attributes defined on
            the <span class="parameter">repositoryAssembly</span>.
            </p><a name="seeAlsoSection"><!----></a><div class="OH_CollapsibleAreaRegion"><div class="OH_regiontitle">See Also</div><div class="OH_CollapsibleArea_HrDiv"><hr class="OH_CollapsibleArea_Hr" /></div></div><div class="OH_clear"></div><div class="seeAlsoStyle"><a href="T_log4net_Core_DefaultRepositorySelector.htm" target="">DefaultRepositorySelector Class</a></div><div class="seeAlsoStyle"><a href="AllMembers_T_log4net_Core_DefaultRepositorySelector.htm" target="">DefaultRepositorySelector Members</a></div><div class="seeAlsoStyle"><a href="Overload_log4net_Core_DefaultRepositorySelector_GetRepository.htm" target="">GetRepository Overload</a></div><div class="seeAlsoStyle"><a href="N_log4net_Core.htm" target="">log4net.Core Namespace</a></div></div></div></div></div><div id="OH_footer" class="OH_footer"><p>Apache log4net, Apache and log4net are trademarks of The Apache Software Foundation.</p><p><a href="http://logging.apache.org/log4net/" target="_blank"><img src="./../icons/online_icon.gif" class="OH_offlineIcon" alt="Online" title="Online" /> 
						Copyright 2004-2015 The Apache Software Foundation (http://logging.apache.org/log4net/)</a></p><div class="OH_feedbacklink"><a href="mailto:http://logging.apache.org/log4net/mail-lists.html?subject=Apache+log4net%e2%84%a2+SDK+Documentation+DefaultRepositorySelector.GetRepository+Method+(Assembly)+100+EN-US&amp;body=Your%20feedback%20is%20used%20to%20improve%20the%20documentation%20and%20the%20product.%20Your%20e-mail%20address%20will%20not%20be%20used%20for%20any%20other%20purpose%20and%20is%20disposed%20of%20after%20the%20issue%20you%20report%20is%20resolved.%20While%20working%20to%20resolve%20the%20issue%20that%20you%20report%2c%20you%20may%20be%20contacted%20via%20e-mail%20to%20get%20further%20details%20or%20clarification%20on%20the%20feedback%20you%20sent.%20After%20the%20issue%20you%20report%20has%20been%20addressed%2c%20you%20may%20receive%20an%20e-mail%20to%20let%20you%20know%20that%20your%20feedback%20has%20been%20addressed.">Send Feedback</a> on this topic to http://logging.apache.org/log4net/mail-lists.html.</div></div></body></html>