Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Ad adlarının en kullanışlı özelliklerinden biri, ad adlarını birleştirebilmeniz veya oluşturabilmenizdir. bileşik ad, diğer takma adların bileşimi olan ve parçalar arasındaki ilişkiyi belirleyebilen bir addır. Bu, kısmi yolların eşdeğeri olan iki veya daha fazla ad verilen bir nesnenin tam yolunu derlemenizi sağlar. Aynı sınıfın (iki dosya takma adı gibi) veya farklı sınıflardan (dosya adı ve öğe takma adı gibi) adlar oluşturabilirsiniz. Kendi takma ad sınıfınızı yazacaksanız, dosya veya öğe takma adlarıyla da adlarınızı oluşturabilirsiniz. Bir bileşimin temel avantajı, basit takma adlarının bir bileşimi olan her olası takma adı uygulamak için size bir kod parçası vermesidir. Bu, belirli özel takma ad sınıfları gereksinimini önemli ölçüde azaltır.
Farklı sınıfların bilinenleri birbiriyle oluşturulabildiğinden, adlar birden çok ad alanını birleştirme olanağı sağlar. Dosya sistemi, dosya olarak depolanan nesneler için ortak bir ad alanı tanımlar çünkü tüm uygulamalar bir dosya sistemi yol adını anlar. Benzer şekilde, kapsayıcı nesnesi de içerdiği nesneler için özel bir ad alanı tanımlar çünkü hiçbir kapsayıcı başka bir kapsayıcı tarafından oluşturulan adları anlayamaz. Dosya takma adlarının ve öğe ad adlarının oluşturulabilmesi nedeniyle, ad alanları bu ad alanlarının birleştirilmesine izin verir. Bir takma ad istemcisi, tek bir mekanizma kullanarak tüm nesneler için ad alanında arama yapabilir. İstemci yalnızca IMoniker::BindToObject takma ad üzerinde çağırır ve geri kalanını da takma ad kodu işler. Bileşikteki IMoniker::GetDisplayName çağrısı, tek tek tüm takma adların görünen adlarını birleştirerek bir ad oluşturur.
Ayrıca, kendi takma ad sınıfınızı yazabildiğiniz için, takma ad bileşimi nesneler için ad alanına özelleştirilmiş uzantılar eklemenize olanak tanır.
Bazen belirli sınıfların iki takma adı özel bir şekilde birleştirilebilir. Örneğin, tamamlanmamış yolu temsil eden bir dosya adı ve göreli yolu temsil eden başka bir dosya takma adı, tam yolu temsil eden tek bir dosya adı oluşturmak için birleştirilebilir. Örneğin, "c:\work\art" dosya adı göreli "..\backup\myfile.doc" eşittir "c:\work\backup\myfile.doc". Bu, nongeneric bileşim örneğidir.
Genel kompozisyon, diğer yandan, sınıfları ne olursa olsun, herhangi iki takma adın bağlanmasına izin verir. Örneğin, bir dosya takma adına bir öğe takma adı oluşturabilirsiniz, ancak elbette tersi de olmaz.
Nongeneric bir bileşim, söz konusu bilinenlerin sınıfına bağlı olduğundan, ayrıntıları belirli bir takma adı sınıfının uygulanmasıyla tanımlanır. Yeni bir takma ad sınıfı yazarsanız yeni türlerdeki nongeneric bileşimleri tanımlayabilirsiniz. Buna karşılık, genel bileşimler OLE tarafından tanımlanır. Genel bileşimin sonucu olarak oluşturulan takma adlar, genel bileşik takma adlar olarak adlandırılır.
Bu üç sınıf, dosya adlarına, öğe takma adlarına ve genel bileşik adlara, hepsi birlikte çalışır ve en yaygın kullanılan ad sınıflarıdır.
Takma ad istemcileri, başka bir ad üzerinde bileşik oluşturmak için IMoniker::ComposeWith çağırmalıdır. Üzerinde çağrılan takma ad, genel veya nongenerik bir bileşim yapıp yapamayacağına dahili olarak karar verir. Ad uygulaması genel bir bileşimin kullanılabilir olduğunu belirlerse, OLE bunu kolaylaştırmak için CreateGenericCompositeişlevini sağlar.
İlgili konular