﻿<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>IRepositorySelector.GetRepository Method (Assembly)</title><meta name="Language" content="en-us" /><meta name="Microsoft.Help.Id" content="M:log4net.Core.IRepositorySelector.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_IRepositorySelector_GetRepository" /><meta name="guid" content="M_log4net_Core_IRepositorySelector_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">IRepositorySelector<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.15.0 (1.2.15.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="ID0ECIDAAAAA" class="OH_CodeSnippetContainer"><div class="OH_CodeSnippetContainerTabs" id="ID0ECIDAAAAA_tabs"><div class="OH_CodeSnippetContainerTabLeftActive" id="ID0ECIDAAAAA_tabimgleft"></div><div id="ID0ECIDAAAAA_tab1" class="OH_CodeSnippetContainerTabActive" EnableCopyCode="true"><a href="#" onclick="javascript:ChangeTab('ID0ECIDAAAAA','C#','1','4');return false;">C#</a></div><div id="ID0ECIDAAAAA_tab2" class="OH_CodeSnippetContainerTab" EnableCopyCode="true"><a href="#" onclick="javascript:ChangeTab('ID0ECIDAAAAA','Visual Basic','2','4');return false;">VB</a></div><div id="ID0ECIDAAAAA_tab3" class="OH_CodeSnippetContainerTab" EnableCopyCode="true"><a href="#" onclick="javascript:ChangeTab('ID0ECIDAAAAA','Visual C++','3','4');return false;">C++</a></div><div id="ID0ECIDAAAAA_tab4" class="OH_CodeSnippetContainerTabDisabledNotFirst" EnableCopyCode="true" disabled="true"><a>F#</a></div><div class="OH_CodeSnippetContainerTabRight" id="ID0ECIDAAAAA_tabimgright"></div></div><div id="ID0ECIDAAAAA_codecollection" class="OH_CodeSnippetContainerCodeCollection"><div class="OH_CodeSnippetToolBar"><div class="OH_CodeSnippetToolBarText"><a id="ID0ECIDAAAAA_ViewColorized" href="#" onclick="javascript:ExchangeTitleContent('ID0ECIDAAAAA','4')" title="View Colorized" style="display: none">View Colorized</a><a id="ID0ECIDAAAAA_copycode" href="#" onclick="javascript:CopyToClipboard('ID0ECIDAAAAA','4')" title="Copy to Clipboard">Copy to Clipboard</a><a id="ID0ECIDAAAAA_PrintText" class="OH_PrintText" href="#" onclick="javascript:Print('ID0ECIDAAAAA','4')" title="Print">Print</a></div></div><div id="ID0ECIDAAAAA_code_Div1" class="OH_CodeSnippetContainerCode" style="display: block"><pre><span class="identifier">ILoggerRepository</span> <span class="identifier">GetRepository</span>(
	<span class="identifier">Assembly</span> <span class="parameter">assembly</span>
)</pre></div><div id="ID0ECIDAAAAA_code_Plain_Div1" class="OH_CodeSnippetContainerCode" style="display: none"><pre>ILoggerRepository GetRepository(
	Assembly assembly
)</pre></div><div id="ID0ECIDAAAAA_code_Div2" class="OH_CodeSnippetContainerCode" style="display: none"><pre><span class="keyword">Function</span> <span class="identifier">GetRepository</span> ( 
	<span class="parameter">assembly</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="ID0ECIDAAAAA_code_Plain_Div2" class="OH_CodeSnippetContainerCode" style="display: none"><pre>Function GetRepository ( 
	assembly As Assembly
) As ILoggerRepository</pre></div><div id="ID0ECIDAAAAA_code_Div3" class="OH_CodeSnippetContainerCode" style="display: none"><pre><span class="identifier">ILoggerRepository</span>^ <span class="identifier">GetRepository</span>(
	<span class="identifier">Assembly</span>^ <span class="parameter">assembly</span>
)</pre></div><div id="ID0ECIDAAAAA_code_Plain_Div3" class="OH_CodeSnippetContainerCode" style="display: none"><pre>ILoggerRepository^ GetRepository(
	Assembly^ assembly
)</pre></div><div id="ID0ECIDAAAAA_code_Div4" class="OH_CodeSnippetContainerCode" style="display: none"><pre /></div><div id="ID0ECIDAAAAA_code_Plain_Div4" class="OH_CodeSnippetContainerCode" style="display: none"><pre /></div></div></div><script>addSpecificTextLanguageTagSet('ID0ECIDAAAAA');</script></div><div id="parameters"><h4 class="subHeading">Parameters</h4><dl paramName="assembly"><dt><span class="parameter">assembly</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="ID0EBCAAHDAAAAA"> </span><script type="text/javascript">
					addToLanSpecTextIdSet("ID0EBCAAHDAAAAA?vb=.|cpp=::|cs=.|fs=.|nu=.");
				</script>Assembly</a><br /><span>The assembly to use to lookup to 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.<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>
            Gets the <a href="T_log4net_Repository_ILoggerRepository.htm" target="">ILoggerRepository</a> for the specified assembly.
            </p><p>
            How the association between <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">Assembly</a> and <a href="T_log4net_Repository_ILoggerRepository.htm" target="">ILoggerRepository</a>
            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.
            </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_IRepositorySelector.htm" target="">IRepositorySelector Interface</a></div><div class="seeAlsoStyle"><a href="AllMembers_T_log4net_Core_IRepositorySelector.htm" target="">IRepositorySelector Members</a></div><div class="seeAlsoStyle"><a href="Overload_log4net_Core_IRepositorySelector_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+IRepositorySelector.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>