Aracılığıyla paylaş


Tür İletme (C++/CLI)

Tür iletme , bir türü bir derlemeden (A derlemesi) başka bir derlemeye (B derlemesine) taşımanıza olanak tanır; böylece A derlemesini kullanan istemcileri yeniden derlemeniz gerekmez.

Windows Çalışma Zamanı

Bu özellik Windows Çalışma Zamanı desteklenmez.

Ortak Dil Çalışma Zamanı

Aşağıdaki kod örneğinde tür iletmenin nasıl kullanılacağı gösterilmektedir.

Sözdizimi

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

Parametreler

new
Tür tanımını taşıdığınız derleme.

type
Tanımını başka bir derlemeye taşıdığınız tür.

Açıklamalar

Bir bileşen (derleme) sevk edildikten ve istemci uygulamaları tarafından kullanıldıktan sonra, türü bileşenden (derleme) başka bir derlemeye taşımak, güncelleştirilmiş bileşeni (ve gerekli ek derlemeleri) göndermek için tür iletmeyi kullanabilirsiniz ve istemci uygulamaları yeniden derlenmeden çalışmaya devam eder.

Tür iletme yalnızca mevcut uygulamalar tarafından başvuruda bulunan bileşenler için çalışır. Bir uygulamayı yeniden oluştururken, uygulamada kullanılan tüm türler için uygun derleme başvuruları olmalıdır.

Derlemeden bir tür (Tür A) iletirken, bu tür için özniteliği ve TypeForwardedTo bir derleme başvurusu eklemeniz gerekir. Başvurduğunuz derleme aşağıdakilerden birini içermelidir:

  • Tür A'nın tanımı.

  • TypeForwardedTo A Türü için bir özniteliğin yanı sıra derleme başvurusu.

İletilebilecek türlere örnek olarak şunlar verilebilir:

  • başvuru sınıfları

  • değer sınıfları

  • numaralandırmalar

  • arabirimler

Aşağıdaki türleri iletemezsiniz:

  • Genel türler

  • Yerel türler

  • İç içe türler (iç içe bir türü iletmek istiyorsanız, kapsayan türü iletmeniz gerekir)

Bir türü ortak dil çalışma zamanını hedefleyen herhangi bir dilde yazılmış bir derlemeye iletebilirsiniz.

Bu nedenle, derleme A.dll derlemek için kullanılan bir kaynak kodu dosyası bir tür tanımı ()ref class MyClass içeriyorsa ve bu tür tanımını derleme B.dll taşımak istiyorsanız şunları yaparsınız:

  1. MyClass Tür tanımını, B.dll oluşturmak için kullanılan bir kaynak kod dosyasına taşıyın.

  2. Derleme B.dll

  3. MyClass A.dll oluşturmak için kullanılan kaynak koddan tür tanımını silin ve şununla değiştirin:

    #using "B.dll"
    [assembly:TypeForwardedTo(MyClass::typeid)];
    
  4. Derleme A.dll oluşturun.

  5. İstemci uygulamalarını yeniden derlemeden A.dll kullanın.

Gereksinimler

Derleyici seçeneği: /clr