Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

TypeLibConverter.ConvertAssemblyToTypeLib-Methode: (Assembly, String, TypeLibExporterFlags, ITypeLibExporterNotifySink)

 

Veröffentlicht: Oktober 2016

Konvertiert eine Assembly in eine COM-Typbibliothek.

Namespace:   System.Runtime.InteropServices
Assembly:  mscorlib (in mscorlib.dll)

[SecurityPermissionAttribute(SecurityAction.Demand, Flags = SecurityPermissionFlag.UnmanagedCode)]
public object ConvertAssemblyToTypeLib(
	Assembly assembly,
	string strTypeLibName,
	TypeLibExporterFlags flags,
	ITypeLibExporterNotifySink notifySink
)

Parameter

assembly
Type: System.Reflection.Assembly

Die zu konvertierende Assembly.

strTypeLibName
Type: System.String

Der Dateiname der resultierenden Typbibliothek.

flags
Type: System.Runtime.InteropServices.TypeLibExporterFlags

Ein TypeLibExporterFlags Wert, der alle speziellen Einstellungen.

notifySink
Type: System.Runtime.InteropServices.ITypeLibExporterNotifySink

Die ITypeLibExporterNotifySink vom Aufrufer implementierte Schnittstelle.

Rückgabewert

Type: System.Object

Ein Objekt, das die ITypeLib-Schnittstelle implementiert.

Weitere Informationen zu ITypeLib, finden Sie unter der entsprechenden Dokumentation in der MSDN Library.

using System;
using System.Reflection;
using System.Reflection.Emit;
using System.Runtime.InteropServices;

[ComImport,
GuidAttribute( "00020406-0000-0000-C000-000000000046" ),
InterfaceTypeAttribute( ComInterfaceType.InterfaceIsIUnknown ),
ComVisible( false )]
public interface UCOMICreateITypeLib
{
    void CreateTypeInfo();
    void SetName();
    void SetVersion();
    void SetGuid();
    void SetDocString();
    void SetHelpFileName();
    void SetHelpContext();
    void SetLcid();
    void SetLibFlags();
    void SaveAllChanges();
}

public class App
{
    public static void Main()
    {
        Assembly asm = Assembly.LoadFrom( "MyAssembly.dll" );
        TypeLibConverter converter = new TypeLibConverter();
        ConversionEventHandler eventHandler = new ConversionEventHandler();

        UCOMICreateITypeLib typeLib = (UCOMICreateITypeLib)converter.ConvertAssemblyToTypeLib( asm, "MyTypeLib.dll", 0, eventHandler );	
        typeLib.SaveAllChanges();
    }
}

public class ConversionEventHandler : ITypeLibExporterNotifySink
{
    public void ReportEvent( ExporterEventKind eventKind, int eventCode, string eventMsg )
    {
        // Handle the warning event here.
    }

    public Object ResolveRef( Assembly asm )
    {
        // Resolve the reference here and return a correct type library.
        return null; 
    }	
}

SecurityPermission

for permission to call unmanaged code.

Security Action: Demand.

Associated Enumeration: F:System.Security.Permissions.SecurityPermissionFlag.UnmanagedCode

.NET Framework
Verfügbar seit 1.1
Zurück zum Anfang
Anzeigen: