﻿<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>CompactRepositorySelector.CreateRepository Method (String, Type)</title><meta name="Language" content="en-us" /><meta name="Microsoft.Help.Id" content="M:log4net.Core.CompactRepositorySelector.CreateRepository(System.String,System.Type)" /><meta name="Description" content="Create a new repository for the repository specified" /><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_CompactRepositorySelector_CreateRepository_1" /><meta name="guid" content="M_log4net_Core_CompactRepositorySelector_CreateRepository_1" /><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">CompactRepositorySelector<span id="ID0EBBABAAA"> </span><script type="text/javascript">
					addToLanSpecTextIdSet("ID0EBBABAAA?vb=.|cpp=::|cs=.|fs=.|nu=.");
				</script>CreateRepository Method (String, Type)</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">
            Create a new repository for the repository specified
            </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="ID0ECJEAAAAA" class="OH_CodeSnippetContainer"><div class="OH_CodeSnippetContainerTabs" id="ID0ECJEAAAAA_tabs"><div class="OH_CodeSnippetContainerTabLeftActive" id="ID0ECJEAAAAA_tabimgleft"></div><div id="ID0ECJEAAAAA_tab1" class="OH_CodeSnippetContainerTabActive" EnableCopyCode="true"><a href="#" onclick="javascript:ChangeTab('ID0ECJEAAAAA','C#','1','4');return false;">C#</a></div><div id="ID0ECJEAAAAA_tab2" class="OH_CodeSnippetContainerTab" EnableCopyCode="true"><a href="#" onclick="javascript:ChangeTab('ID0ECJEAAAAA','Visual Basic','2','4');return false;">VB</a></div><div id="ID0ECJEAAAAA_tab3" class="OH_CodeSnippetContainerTab" EnableCopyCode="true"><a href="#" onclick="javascript:ChangeTab('ID0ECJEAAAAA','Visual C++','3','4');return false;">C++</a></div><div id="ID0ECJEAAAAA_tab4" class="OH_CodeSnippetContainerTabDisabledNotFirst" EnableCopyCode="true" disabled="true"><a>F#</a></div><div class="OH_CodeSnippetContainerTabRight" id="ID0ECJEAAAAA_tabimgright"></div></div><div id="ID0ECJEAAAAA_codecollection" class="OH_CodeSnippetContainerCodeCollection"><div class="OH_CodeSnippetToolBar"><div class="OH_CodeSnippetToolBarText"><a id="ID0ECJEAAAAA_ViewColorized" href="#" onclick="javascript:ExchangeTitleContent('ID0ECJEAAAAA','4')" title="View Colorized" style="display: none">View Colorized</a><a id="ID0ECJEAAAAA_copycode" href="#" onclick="javascript:CopyToClipboard('ID0ECJEAAAAA','4')" title="Copy to Clipboard">Copy to Clipboard</a><a id="ID0ECJEAAAAA_PrintText" class="OH_PrintText" href="#" onclick="javascript:Print('ID0ECJEAAAAA','4')" title="Print">Print</a></div></div><div id="ID0ECJEAAAAA_code_Div1" class="OH_CodeSnippetContainerCode" style="display: block"><pre><span class="keyword">public</span> <span class="identifier">ILoggerRepository</span> <span class="identifier">CreateRepository</span>(
	<span class="identifier">string</span> <span class="parameter">repositoryName</span>,
	<span class="identifier">Type</span> <span class="parameter">repositoryType</span>
)</pre></div><div id="ID0ECJEAAAAA_code_Plain_Div1" class="OH_CodeSnippetContainerCode" style="display: none"><pre>public ILoggerRepository CreateRepository(
	string repositoryName,
	Type repositoryType
)</pre></div><div id="ID0ECJEAAAAA_code_Div2" class="OH_CodeSnippetContainerCode" style="display: none"><pre><span class="keyword">Public</span> <span class="keyword">Function</span> <span class="identifier">CreateRepository</span> ( 
	<span class="parameter">repositoryName</span> <span class="keyword">As</span> <span class="identifier">String</span>,
	<span class="parameter">repositoryType</span> <span class="keyword">As</span> <span class="identifier">Type</span>
) <span class="keyword">As</span> <span class="identifier">ILoggerRepository</span></pre></div><div id="ID0ECJEAAAAA_code_Plain_Div2" class="OH_CodeSnippetContainerCode" style="display: none"><pre>Public Function CreateRepository ( 
	repositoryName As String,
	repositoryType As Type
) As ILoggerRepository</pre></div><div id="ID0ECJEAAAAA_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">CreateRepository</span>(
	<span class="identifier">String</span>^ <span class="parameter">repositoryName</span>, 
	<span class="identifier">Type</span>^ <span class="parameter">repositoryType</span>
) <span class="keyword">sealed</span></pre></div><div id="ID0ECJEAAAAA_code_Plain_Div3" class="OH_CodeSnippetContainerCode" style="display: none"><pre>public:
virtual ILoggerRepository^ CreateRepository(
	String^ repositoryName, 
	Type^ repositoryType
) sealed</pre></div><div id="ID0ECJEAAAAA_code_Div4" class="OH_CodeSnippetContainerCode" style="display: none"><pre /></div><div id="ID0ECJEAAAAA_code_Plain_Div4" class="OH_CodeSnippetContainerCode" style="display: none"><pre /></div></div></div><script>addSpecificTextLanguageTagSet('ID0ECJEAAAAA');</script></div><div id="parameters"><h4 class="subHeading">Parameters</h4><dl paramName="repositoryName"><dt><span class="parameter">repositoryName</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/s1wwdcbf" target="_blank">System<span id="ID0EBCABIEAAAAA"> </span><script type="text/javascript">
					addToLanSpecTextIdSet("ID0EBCABIEAAAAA?vb=.|cpp=::|cs=.|fs=.|nu=.");
				</script>String</a><br /><span>the repository to associate with the <a href="T_log4net_Repository_ILoggerRepository.htm" target="">ILoggerRepository</a></span></dd></dl><dl paramName="repositoryType"><dt><span class="parameter">repositoryType</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/42892f65" target="_blank">System<span id="ID0EBCAAIEAAAAA"> </span><script type="text/javascript">
					addToLanSpecTextIdSet("ID0EBCAAIEAAAAA?vb=.|cpp=::|cs=.|fs=.|nu=.");
				</script>Type</a><br /><span>the type of repository to create, must implement <a href="T_log4net_Repository_ILoggerRepository.htm" target="">ILoggerRepository</a>.
            If this param is null then the default repository type is used.</span></dd></dl></div><h4 class="subHeading">Return Value</h4>Type: <a href="T_log4net_Repository_ILoggerRepository.htm" target="">ILoggerRepository</a><br />the repository created<h4 class="subHeading">Implements</h4><a href="M_log4net_Core_IRepositorySelector_CreateRepository_1.htm" target="">IRepositorySelector<span id="ID0EBBEAAAAA"> </span><script type="text/javascript">
					addToLanSpecTextIdSet("ID0EBBEAAAAA?vb=.|cpp=::|cs=.|fs=.|nu=.");
				</script>CreateRepository(String, Type)</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="ID0EBABBAADAAAAA"> </span><script type="text/javascript">
					addToLanSpecTextIdSet("ID0EBABBAADAAAAA?vb=.|cpp=::|cs=.|fs=.|nu=.");
				</script>ArgumentNullException</a></td><td>throw if <span class="parameter">repositoryName</span> is null</td></tr><tr><td><a href="T_log4net_Core_LogException.htm" target="">log4net.Core<span id="ID0EBABAAADAAAAA"> </span><script type="text/javascript">
					addToLanSpecTextIdSet("ID0EBABAAADAAAAA?vb=.|cpp=::|cs=.|fs=.|nu=.");
				</script>LogException</a></td><td>throw if the <span class="parameter">repositoryName</span> already exists</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 <a href="T_log4net_Repository_ILoggerRepository.htm" target="">ILoggerRepository</a> created will be associated with the repository
            specified such that a call to <span class="nolink">[M:GetRepository(string)]</span> with the
            same repository specified will return the same repository instance.
            </p><p>
            If the named repository already exists an exception will be thrown.
            </p><p>
            If <span class="parameter">repositoryType</span> is <span class="code">null</span> then the default 
            repository type specified to the constructor is used.
            </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_CompactRepositorySelector.htm" target="">CompactRepositorySelector Class</a></div><div class="seeAlsoStyle"><a href="AllMembers_T_log4net_Core_CompactRepositorySelector.htm" target="">CompactRepositorySelector Members</a></div><div class="seeAlsoStyle"><a href="Overload_log4net_Core_CompactRepositorySelector_CreateRepository.htm" target="">CreateRepository 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+CompactRepositorySelector.CreateRepository+Method+(String%2c+Type)+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>