Sdílet prostřednictvím


Přehled interoperability (Průvodce programováním v C#)

Téma popisuje metody umožňují dosažení interoperability mezi C# spravovaného kódu a nespravovaný kód.

Volání funkce platformy

Platforma vyvolat je služba, že umožňuje spravovány na volání nespravované funkcí, které jsou implementovány v dynamických knihovnách (DLL), například v Microsoft Win32 API.Vyhledá a vyvolá exportovaná funkce a marshals přes hranice vzájemné argumenty (celá čísla, řetězce, matice, struktury a podobně), podle potřeby.

Další informace naleznete v tématu Používání nespravovaných funkcí DLL a Postupy: Použití vyvolání platformy pro přehrání souboru wave (Průvodce programováním v C#).

[!POZNÁMKA]

Common Language Runtime (CLR) (CLR) spravuje přístup k systémovým prostředkům.Volání nespravovaný kód, který se nachází mimo CLR obchází tento mechanismus zabezpečení a proto představuje bezpečnostní riziko.Nespravovaný kód může být například volání zdrojů v nespravovaný kód přímo, vynechání mechanismy CLR zabezpečení.Další informace naleznete v .NET Framework zabezpečení.

Interoperabilita C++

Interop C++, známé také jako je právě Works (IJW), můžete použít obtékání nativního C++ třídy tak, že mohou být spotřebovány podle kódu, který je vytvořen v jazyce C# nebo jiné.NET Framework jazyk.To provedete psaní kódu jazyka C++ zalomení nativní součást knihovny DLL nebo COM.Na rozdíl od jiných.NET Framework jazyky Visual C++ má interoperability podporu, umožňuje spravovat a nespravovaná kód se nachází ve stejné aplikaci a to dokonce ve stejném souboru.Potom pomocí vytvořit kód jazyka C++ /clr přepínač kompilátor vyrábět spravované sestavení.Nakonec přidejte odkaz na sestavení projektu C# a použít obtékané objekty, stejně jako by se použít jiné spravované třídy.

Vystavuje komponent modelu COM, C#

Můžete využívat komponenty modelu COM z projektu C#.Obecné kroky jsou následující:

  1. Najděte komponentu modelu COM a zaregistrujte jej.Pomocí nástroje regsvr32.exe zaregistrovat nebo un–register COM DLL.

  2. Přidejte do projektu odkaz na knihovnu COM komponenty nebo typu.

    Když přidáte odkaz na Visual Studio používá Tlbimp.exe (importér knihovny typů), který trvá knihovny typů jako vstup, výstup.NET Framework sestavení interop.Shromáždění a také s názvem callable wrapper runtime (RCW) obsahuje spravované třídy a rozhraní, které třídy COM obtékání a které jsou v knihovně typů.Visual StudioPřidá do projektu odkaz na sestavení generovaného.

  3. Vytvořte instanci třídy, která je definována RCW.Naopak, vytvoří instanci objektu COM.

  4. Stejně jako ostatní objekty spravované pomocí pomocí objektu.Když je objekt převzaty systémem pro úklid, instancí objektu COM také uvolněn z paměti.

Další informace naleznete v tématu Vystavení komponent COM pro rozhraní .NET Framework.

Vystavuje C# com

COM klienti mohou spotřebovat typy C#, které správně zobrazeny.Základní kroky k vystavení typy C# jsou následující:

  1. Přidáte atributy interop v projektu C#.

    Můžete vytvořit sestavení modelu COM viditelné změny Visual C# vlastnosti projektu.Další informace naleznete v tématu Dialogové okno Informace o sestavení.

  2. Vytvoření knihovny typů COM a zaregistrovat pro použití modelu COM.

    Můžete upravit Visual C# vlastnosti automaticky registrace sestavení C# pro volání interop modelu projektu.Visual Studiopoužívá Regasm.exe (nástroj registrace sestavení), použití /tlb přepínač příkazového řádku, který trvá spravované sestavení jako vstup, vytvoření knihovny typů.Popisuje tento typ knihovny public typů v sestavení a přidá položky registru vytvořit spravované třídy COM klientů.

Další informace naleznete v tématu Vystavení komponent architektury .NET Framework pro COM a Ukázka třídy COM (Průvodce programováním v C#).

Viz také

Koncepty

Průvodce programováním v C#

Další zdroje

Zlepšení výkonu Interop

Úvod k volání Interop modelu COM

Zařazování mezi spravované a nespravované kódu

Spolupráce s nespravovaným kódem

Rozšířená interoperabilita modelu COM