﻿<?xml version="1.0" encoding="utf-8"?><Type Name="ComUnregisterFunctionAttribute" FullName="System.Runtime.InteropServices.ComUnregisterFunctionAttribute"><TypeSignature Maintainer="auto" Language="C#" Value="public sealed class ComUnregisterFunctionAttribute : Attribute" /><TypeSignature Language="ILAsm" Value=".class public auto ansi sealed beforefieldinit ComUnregisterFunctionAttribute extends System.Attribute" /><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><Base><BaseTypeName>System.Attribute</BaseTypeName></Base><Interfaces /><Attributes><Attribute><AttributeName>System.AttributeUsage(System.AttributeTargets.Method, Inherited=false)</AttributeName></Attribute><Attribute><AttributeName>System.Runtime.InteropServices.ComVisible(true)</AttributeName></Attribute></Attributes><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>You can apply this attribute to methods.</para><para><see cref="T:System.Runtime.InteropServices.ComUnregisterFunctionAttribute" /> enables you to add code that reverses the operations performed by a registration method. If you apply the <see cref="T:System.Runtime.InteropServices.ComRegisterFunctionAttribute" /> to provide a registration method, you must also provide an unregistration method to reverse the operations done in the registration method. You can have only one unregistration method for a class.</para><para>The common language runtime calls the method with this attribute when its containing assembly is unregistered (directly or indirectly) with the <format type="text/html"><a href="E190E342-36EF-4651-A0B4-0E8C2C0281CB">[&lt;topic://cpgrfassemblyregistrationtoolregasmexe&gt;]</a></format> or through the <see cref="M:System.Runtime.InteropServices.RegistrationServices.UnregisterAssembly(System.Reflection.Assembly)" /> API method. Methods with this attribute can have any visibility (public, private, and so on), but must be static and must take a single <see cref="T:System.Type" /> parameter for the <see cref="T:System.Type" /> to unregister.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Specifies the method to call when you unregister an assembly for use from COM; this allows for the execution of user-written code during the unregistration process.</para></summary></Docs><Members><Member MemberName=".ctor"><MemberSignature Language="C#" Value="public ComUnregisterFunctionAttribute ();" /><MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" /><MemberType>Constructor</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue /><Parameters /><Docs><remarks>To be added</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Initializes a new instance of the <see cref="T:System.Runtime.InteropServices.ComUnregisterFunctionAttribute" /> class.</para></summary></Docs></Member></Members></Type>