Udostępnij przez


Deklarowanie klasy skojarzenia

Klasa skojarzenia to specjalny typ klasy, który definiuje relację między dwiema innymi klasami.

Poniższa procedura opisuje sposób tworzenia klasy skojarzenia przy użyciu kodu MOF.

Aby utworzyć klasę skojarzenia przy użyciu kodu MOF

  1. Przypisz kwalifikator skojarzenia do swojej klasy.

    Chociaż istnieje możliwość utworzenia klasy z odwołaniami do obiektów lub klas, użycie kwalifikatora Association nie tylko wyjaśnia, że dana klasa to klasa asocjacyjna, lecz także jako najlepsza praktyka zapewnia, że klasa w pełni działa jako klasa asocjacyjna.

  2. Utwórz dwa odwołania w klasie opisujące dwa wystąpienia obiektów, które chcesz skojarzyć razem przy użyciu typu ref.

    Odwołania łączą dwa obiekty w skojarzeniu, zawierając ścieżki do obiektów. Mimo że nie jest to wymagane, można również użyć właściwości odwołania jako właściwości klucza.

    Chociaż można utworzyć odwołania w pełni kwalifikowane lub zależne od przestrzeni nazw, usługa WMI ma ograniczoną obsługę odwołań krzyżowych między przestrzeniami nazw. W szczególności tylko statycznie zdefiniowane obiekty mogą odwoływać się do siebie między granicami przestrzeni nazw; nie można odwoływać się do siebie dynamicznie obsługiwanych obiektów.

    W razie potrzeby użyj kwalifikatorów HasClassRef i Classref w połączeniu z typem referencji obiektu , aby odwołać się do klasy.

    Usługa WMI obsługuje używanie jednego ref punktu odniesienia do wystąpienia, a drugi obiekt punkt odniesienia do klasy. W takim przypadku klasa skojarzeń opisuje skojarzenie, które wiąże wystąpienia z klasami.

    W poniższym przykładzie kodu opisano składnię używania HasClassRef i Classref z obiektem typu .

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

    W poprzednim przykładzie referencja ep1 może wskazywać definicje klas dla klasy MyEndpoint lub klasy OtherContainer. Należy pamiętać, że chociaż należy słabo typować klasę referencyjną, nie można słabo typować samego kwalifikatora Classref; w ten sposób znacznie zmniejszyłoby to wydajność silnika zapytań WMI. Słabe typowanie oznacza tworzenie odwołania, które może zawierać dowolny typ danych, przy użyciu słowa kluczowego obiektu oraz typu danych ref . Aby pomyślnie użyć HasClassRef, należy ustawić odpowiednie właściwości kwalifikatora, aby były propagowane do wszystkich wystąpień i podklas.

  3. Utwórz wszelkie inne właściwości zgodnie z potrzebami.

    W poniższym przykładzie kodu pokazano, że usługa WMI nie obsługuje obecnie klas asocjacyjnych mających mniej niż dwie właściwości referencyjne lub więcej.

    [Association : ToInstance] 
    class MyAssocClass
    {
        ClassX ref PathToClassX ;
        ClassY ref PathToClassY ;
    };
    
  4. Po zakończeniu skompiluj kod MOF za pomocą kompilatora MOF.

    Aby uzyskać więcej informacji, zobacz kompilowanie plików MOF.

Przykład kodu w kroku 3 definiuje klasę skojarzenia MyAssocClass. Klasa MyAssocClass definiuje relację między ClassX a ClassY. Właściwości PathToClassX i PathToClassY zawierają ścieżki obiektów do wystąpień klas, które mają być skojarzone. Słowo kluczowe ToInstance jest jednym z kilku znaczników typu określonych przez usługę WMI w celu przekazania informacji o użyciu kwalifikatora. Słowo kluczowe ToInstance wskazuje, że WMI powinno propagować kwalifikator asocjacja do wszystkich wystąpień klasy asocjacji. Po sprawdzeniu tego kwalifikatora wystąpienia, oprogramowanie klienta może określić, że wystąpienie należy do klasy skojarzenia, bez konieczności pobierania definicji klasy w celu wyszukania kwalifikatora skojarzenia. Aby uzyskać więcej informacji, zobacz Opis kwalifikatora z kwalifikatorem i odwołaniami .

projektowanie klas formatu obiektów zarządzanych (MOF)