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:
MyClass
Tür tanımını, B.dll oluşturmak için kullanılan bir kaynak kod dosyasına taşıyın.Derleme B.dll
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)];
Derleme A.dll oluşturun.
İstemci uygulamalarını yeniden derlemeden A.dll kullanın.
Gereksinimler
Derleyici seçeneği: /clr