Przegląd współdziałania (Przewodnik programowania w języku C#)
Temat zawiera opis metody w celu umożliwienia współdziałania między kod C# zarządzane i kodu niezarządzanego.
Wywołać platformy
Platforma wywołać jest usługa, że umożliwia kod zarządzany do wywoływania niezarządzanego funkcje, które są implementowane w bibliotekach dołączanych dynamicznie (dll), takie jak Microsoft Win32 API.Lokalizuje i wywołuje funkcję wyeksportowaną i marshals jej argumenty (liczby całkowite, ciągi, tablice, struktur i tak dalej) granice współdziałanie, w razie potrzeby.
Aby uzyskać więcej informacji, zobacz Wykorzystywanie niezarządzanych funkcji DLL i Porady: użycie wywołania platformy do odtwarzania pliku Wave (Przewodnik programowania w języku C#).
[!UWAGA]
Środowisko uruchomieniowe języka wspólnego (CLR) (CLR) zarządza dostępem do zasobów systemowych.Wywoływania niezarządzanego kodu, który znajduje się poza CLR pomija ten mechanizm zabezpieczeń, a zatem stanowi zagrożenie bezpieczeństwa.Na przykład kod niezarządzany może wywołać zasobów w niezarządzanego kodu bezpośrednio, pomijając mechanizmy zabezpieczeń środowiska CLR.Aby uzyskać więcej informacji, zobacz .NET Framework zabezpieczeń.
C++ Interop
Można użyć interop C++, znany również jako go po prostu Works (IJW), aby otoczyć macierzystych klas C++, dzięki czemu mogą być wykorzystane przez kod, który został utworzony w języku C# lub innym.NET Framework języka.Aby to zrobić, można napisać kod C++ Zawijaj macierzystym składnika biblioteki DLL lub COM.W odróżnieniu od innych.NET Framework w językach, Visual C++ ma interoperacyjności wsparcia, że umożliwia zarządzanych i niezarządzanych kod ma się znajdować w tej samej aplikacji, a nawet w tym samym pliku.Następnie kompilowania kodu C++ przy użyciu /clr przełącznik kompilatora do wytwarzania zestawu zarządzanych.Wreszcie Dodaj odwołanie do zestawu w projekcie języka C# i tak, jak można użyć innych klas zarządzanych za pomocą obiektów zawinięty.
Uwidacznianie składników COM w C#
Można wykorzystać składnik COM z projektu języka C#.Ogólne kroki są w następujący sposób:
Zlokalizuj składnik COM i zarejestrować go.Za pomocą narzędzia regsvr32.exe do rejestru lub un–register plik COM DLL.
Dodawanie do projektu odwołanie do biblioteki składnika lub typu COM.
Po dodaniu odwołania, Visual Studio korzysta z Tlbimp.exe (Importer biblioteki typów), która przyjmuje jako dane wejściowe, wyjściowe biblioteki typów.NET Framework zestawu międzyoperacyjnego.Zgromadzenie również o nazwie wpłacone otoki runtime (otoki RCW), zawiera zarządzane klas i interfejsów, które Zawijaj klas COM oraz interfejsów, które znajdują się w bibliotece typów.Visual StudioOdwołanie do zestawu wygenerowanego dodaje do projektu.
Tworzenie instancji klasy, która jest zdefiniowana w otoki RCW.To z kolei tworzy wystąpienia obiektu COM.
Użyj obiektu tak, jak używać innych obiektów zarządzanych.Gdy obiekt jest odzyskane w procesie wyrzucania elementów bezużytecznych, wystąpienia obiektu COM został wydany również z pamięci.
Aby uzyskać więcej informacji, zobacz Udostępnianie składników COM programowi.NET Framework.
Uwidacznianie C# com
COM klientów mogą zużywać typy C#, które zostały prawidłowo narażone.Podstawowe kroki, aby udostępnić typy C# są w następujący sposób:
Dodawanie atrybutów współdziałania w projekcie języka C#.
Można wprowadzać zestawie COM widoczne modyfikując Visual C# właściwości projektu.Aby uzyskać więcej informacji, zobacz Informacje o zestawie — Okno dialogowe.
Wygenerować biblioteki typów modelu COM, a następnie zarejestrować je w sposób użycia modelu COM.
Można zmodyfikować Visual C# właściwości, aby automatycznie zarejestrować modułu C# do współdziałania z modelem COM projektu.Visual Studioużywa Regasm.exe (Narzędzie rejestracji zestawów), korzystanie z /tlb przełącznik wiersza polecenia, które przyjmuje zestawu zarządzanych jako dane wejściowe, aby wygenerować biblioteki typów.Zawiera opis tej biblioteki typów public typów w zestawie i dodaje wpisy rejestru, tak aby klienci COM można utworzyć klasy zarządzane.
Aby uzyskać więcej informacji, zobacz Udostępnianie składników .NET Framework modelowi COM i Klasa COM — Przykład (Przewodnik programowania w języku C#).
Zobacz też
Koncepcje
Przewodnik programowania w języku C#
Inne zasoby
Zwiększanie wydajności międzyoperacyjne
Wprowadzenie do współdziałania z modelem COM
Kierowanie pomiędzy zarządzanych i niezarządzanych kodu