Sdílet prostřednictvím


Předávání typů (C++/CLI)

Zadejte předávání umožňuje přesouvat typ sestavení (sestavení A) do jiného sestavení (sestavení B), není nutné překompilovat klientů, které spotřebovávají sestavení A.

Všechny platformy

Všechny knihovny runtime nepodporuje tuto funkci.

Windows Runtime

Tato funkce není podporována v prostředí Windows Runtime.

Požadavky

Volba kompilátoru:/ZW

Modul CLR (Common Language Runtime)

Následující příklad kódu ukazuje, jak použít typ předávání.

Syntaxe

#using "new.dll"
[assembly:TypeForwardedTo(type::typeid)];

Parametry

  • new
    Sestavení, na který přesouváte definice typu.

  • type
    Typ, jejichž definice se přesunete do jiného sestavení.

Poznámky

Po dodává komponenty (sestavení) a je používán klientských aplikací typu předávání slouží k přesunutí typ komponenty (sestavení) do jiného sestavení, aktualizované součásti (a všechny další sestavení vyžaduje) a klientských aplikací budou stále fungovat bez je provedena nová kompilace.

Typ předávání funguje pouze pro komponenty odkazují existujících aplikací.Při sestavení aplikace musí být odkazy na příslušné sestavení pro všechny typy používané v aplikaci.

Při předávání typ (typ A) od sestavení, musíte přidat TypeForwardedTo atribut typu, jakož i odkaz na sestavení.Sestavení, která se odkazuje, musí obsahovat jeden z následujících:

  • Definice typu A.

  • A TypeForwardedTo atribut typu A, jakož i odkaz na sestavení.

Příklady typů, které mohou být předány:

  • třídy REF

  • Hodnota třídy

  • výčty

  • rozhraní

Nelze předat následující typy:

  • Obecné typy

  • Nativní typy

  • Vnořené typy (Pokud chcete předat vnořený typ, by měly předávat nadřazeného typu.)

Typ můžete předat sestavení vytvářeny v libovolném jazyce cílení společného jazykového modulu runtime.

Takže pokud zdrojový soubor kód, který slouží k vytváření sestavení A.dll obsahuje definice typu (ref class MyClass), a chtěli přesunout typu definice sestavení B.dll by:

  1. Přesunout MyClass zadejte definici do souboru zdrojový kód pro sestavení B.dll.

  2. Vytváření sestavení B.dll

  3. Odstranit MyClass zadejte definici ze zdrojového kódu, který slouží k vytvoření A.dll a nahradit následující:

    #using "B.dll"
    [assembly:TypeForwardedTo(MyClass::typeid)];
    
  4. Vytváření sestavení A.dll.

  5. Pomocí A.dll souběžně klientské aplikace.

Požadavky

Volba kompilátoru:/clr