Aracılığıyla paylaş


Bir İlişkilendirme Sınıfını Tanımlama

İlişki sınıfı, diğer iki sınıf arasındaki ilişkiyi tanımlayan özel bir sınıf türüdür.

Aşağıdaki yordamda MOF kodu kullanarak ilişkilendirme sınıfının nasıl oluşturulacağı açıklanmaktadır.

MOF kodu kullanarak ilişkilendirme sınıfı oluşturmak için

  1. sınıfınıza İlişkilendirme niteleyicisini atayın.

    Nesnelere veya sınıflara başvurular içeren bir sınıf oluşturmak mümkün olsa da, İlişkilendirme niteleyicisini kullanarak sınıfınızın bir ilişkilendirme sınıfı olduğunu açıkça belirtmekle kalmaz, aynı zamanda en iyi uygulama olarak sınıfınızın tam olarak bir ilişkilendirme sınıfı olarak çalıştığından emin olur.

  2. İlişkilendirmek istediğiniz bu iki nesne örneğini referans türünü kullanarak bir araya getirecek iki referans sınıf içinde oluşturun.

    Başvurular, nesnelerin yollarını içererek ilişkilendirmedeki iki nesneyi bağlar. Gerekli olmasa da, başvuru özelliklerini de anahtar özellikleri olarak kullanın.

    Tam nitelikli veya ad alanına göre relatif başvurular oluşturabilmenize rağmen WMI, ad alanları arası başvurular için yalnızca sınırlı desteğe sahiptir. Özellikle, yalnızca statik olarak tanımlanmış nesneler ad alanı sınırları boyunca birbirine başvurabilir; dinamik olarak desteklenen nesneler birbirine başvuramaz.

    Gerekirse, HasClassRef ve Classref niteleyicilerini, bir sınıfa referans vermek için nesne referansı türü ile birlikte kullanın.

    WMI, bir başvuru başvuru noktasının bir örneğe, diğer nesnesinin de bir sınıfa başvuru noktası destekler. Bu durumda, ilişkilendirme sınıfınız örnekleri sınıflara bağlayan bir ilişkilendirmeyi açıklar.

    Aşağıdaki kod örneği, HasClassRef ve Classref'in nesne türüyle nasıl kullanılacağını açıklayan sözdizimini göstermektedir.

    [HasClassRefs, Association]
    class SomeAssocClass
    {
         [key, classref{ "MyEndpoint", "OtherContainer" }]
         object ref ep1;
         [key] object ref ep2;
    }; 
    

    Önceki örnekte, ep1 referansı ya MyEndpoint sınıfı ya da OtherContainer sınıfı için sınıf tanımlarını gösterebilir. Başvuru sınıfını zayıf bir şekilde yazmanız gerekirken, classref niteleyicinin kendisini zayıf bir şekilde yazamayacağınızı unutmayın; bunun yapılması WMI sorgu altyapısının verimliliğini ciddi ölçüde azaltır. Zayıf tip tanımlaması, nesne anahtar kelimesini ve ref veri türünü kullanarak herhangi bir veri türünü içerebilen bir referans oluşturmaktır. HasClassRef'i başarıyla kullanmak için, ilgili niteleyici özelliklerini tüm örneklere ve alt sınıflara yaymak amacıyla ayarlamanız gerekir.

  3. Gereken diğer özellikleri oluşturun.

    Aşağıdaki kod örneğinde WMI'nin şu anda ikiden az veya daha fazla başvuru özelliğine sahip ilişkilendirme sınıflarını desteklemediği gösterilmektedir.

    [Association : ToInstance] 
    class MyAssocClass
    {
        ClassX ref PathToClassX ;
        ClassY ref PathToClassY ;
    };
    
  4. İşiniz bittiğinde MOF kodunuzu MOF derleyicisi ile derleyin.

    Daha fazla bilgi için bkz. MOF Dosyalarını Derleme .

3. Adım'daki kod örneği MyAssocClass ilişkilendirme sınıfını tanımlar. MyAssocClass sınıfı, ClassX ile ClassYarasında bir ilişki tanımlar. PathToClassX ve PathToClassY özellikleri, ilişkilendirilecek sınıfların örneklerinin nesne yollarını içerir. ToInstance anahtar sözcüğü, WMI'nin niteleyici kullanımı hakkında bilgi sağlamak için tanımladığı çeşitli tür bayraklarından biridir. ToInstance anahtar sözcüğü, WMI'nin İlişkilendirme niteleyicisini ilişkilendirme sınıfının tüm örneklerine yayması gerektiğini belirtir. İstemci yazılımı bu örnek niteleyicisini denetleyerek, İlişkilendirme niteleyicisini aramak için sınıf tanımını almak zorunda kalmadan bir örneğin bir ilişkilendirme sınıfına ait olduğunu belirleyebilir. Daha fazla bilgi için bkz. Niteleyici Türüyle Bir Niteleyiciyi Tanımlama ve Referanslar.

Yönetilen Nesne Biçimi (MOF) Sınıfları tasarlama