﻿<?xml version="1.0" encoding="utf-8"?><Type Name="ICustomFactory" FullName="System.Runtime.InteropServices.ICustomFactory"><TypeSignature Maintainer="auto" Language="C#" Value="public interface ICustomFactory" /><TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract ICustomFactory" /><AssemblyInfo><AssemblyName>mscorlib</AssemblyName><AssemblyPublicKey>[00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00]</AssemblyPublicKey><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the &lt;link location="node:gtk-sharp/programming/threads"&gt;Gtk# Thread Programming&lt;/link&gt; for details.</ThreadSafetyStatement><Interfaces /><Attributes><Attribute><AttributeName>System.Runtime.InteropServices.ComVisible(true)</AttributeName></Attribute></Attributes><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>You can enable custom activation by providing a proxy class that implements ICustomFactory and attributing the <see cref="T:System.MarshalByRefObject" /> class with the <see cref="T:System.Runtime.Remoting.Proxies.ProxyAttribute" />. When the class is activated, the proxy's <see cref="M:System.Runtime.InteropServices.ICustomFactory.CreateInstance(System.Type)" /> method is called by the common language runtime to activate the class.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Enables users to write activation code for managed objects that extend <see cref="T:System.MarshalByRefObject" />.</para></summary></Docs><Members><Member MemberName="CreateInstance"><MemberSignature Language="C#" Value="public MarshalByRefObject CreateInstance (Type serverType);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class System.MarshalByRefObject CreateInstance(class System.Type serverType) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.MarshalByRefObject</ReturnType></ReturnValue><Parameters><Parameter Name="serverType" Type="System.Type" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>CreateInstance is called by the common language runtime when a new object of the specified type needs to be created. Override this method to provide your own custom class factory.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Creates a new instance of the specified type.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>A <see cref="T:System.MarshalByRefObject" /> associated with the specified type.</para></returns><param name="serverType"><attribution license="cc4" from="Microsoft" modified="false" />The type to activate. </param></Docs></Member></Members></Type>