MemberRelationshipService Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Udostępnia klasę bazową do relacji jednego elementu członkowskiego z innym.
public ref class MemberRelationshipService abstract
public abstract class MemberRelationshipService
type MemberRelationshipService = class
Public MustInherit Class MemberRelationshipService
- Dziedziczenie
-
MemberRelationshipService
Przykłady
Upraszcza MemberRelationshipService pobieranie wartości właściwości z innej lokalizacji. Projektant może uzyskać dostęp do tej usługi, aby określić, że jeden element członkowski ma przypisaną wartość innej. Generator kodu wyszukuje takie relacje podczas generowania kodu, a jeśli zostanie znaleziona relacja między dwoma elementami członkowskimi, emituje kod dla relacji, a nie wyszukuje wartości właściwości. Korzystając z poprzedniego przypisania tekstu jako przykładu, poniższy przykład kodu przedstawia kod czasu projektowania używany do ustanowienia relacji.
object titleLabel, form;
PropertyDescriptor titleLabelText = TypeDescriptor.GetProperties(titleLabel)["Text"];
PropertyDescriptor formText = TypeDescriptor.GetProperties(form)["Text"];
MemberRelationshipService ms = GetService(typeof(MemberRelationshipService);
ms[titleLabel, titleLabelText] = new MemberRelationship(form, formText);
Uwagi
Projektanci serializują się, aby kodować za pośrednictwem aparatu, który przeszukuje wartości właściwości na żywo obiektów i generuje te wartości jako kod. Na przykład tekst przycisku jest generowany w następującym formacie.
this.okButton.Text = "OK";
Jednym z ograniczeń tego schematu jest to, że trudno jest pobrać właściwość z innej lokalizacji. Na przykład bardzo trudno jest emitować kod w następującym formacie, ponieważ jedyną rzeczą, na której generator kodu może polegać, jest wartość właściwości .
this.titleLabel.Text = this.Text;
Uwagi dotyczące implementowania
Klasa MemberRelationshipService to abstract
. Implementacja określonej wersji różni się w zależności od obsługiwanych typów elementów członkowskich. Na przykład powiązanie jednego zdarzenia z innym może wymagać innej implementacji niż powiązanie jednej właściwości z inną. Implementacja usługi wymaga następujących kroków:
Zaimplementuj SupportsRelationship(MemberRelationship, MemberRelationship) , aby wrócić
true
do relacji, które są obsługiwane.Śledź zmiany relacji źródłowej i przypisz zmiany wartości do relacji docelowej.
Konstruktory
MemberRelationshipService() |
Inicjuje nowe wystąpienie klasy MemberRelationshipService. |
Właściwości
Item[MemberRelationship] |
Ustanawia relację między obiektem źródłowym i docelowym. |
Item[Object, MemberDescriptor] |
Ustanawia relację między obiektem źródłowym i docelowym. |
Metody
Equals(Object) |
Określa, czy dany obiekt jest taki sam, jak bieżący obiekt. (Odziedziczone po Object) |
GetHashCode() |
Służy jako domyślna funkcja skrótu. (Odziedziczone po Object) |
GetRelationship(MemberRelationship) |
Pobiera relację z daną relacją źródłową. |
GetType() |
Type Pobiera bieżące wystąpienie. (Odziedziczone po Object) |
MemberwiseClone() |
Tworzy płytkią kopię bieżącego Objectelementu . (Odziedziczone po Object) |
SetRelationship(MemberRelationship, MemberRelationship) |
Tworzy relację między obiektem źródłowym a relacją docelową. |
SupportsRelationship(MemberRelationship, MemberRelationship) |
Pobiera wartość wskazującą, czy dana relacja jest obsługiwana. |
ToString() |
Zwraca ciąg reprezentujący bieżący obiekt. (Odziedziczone po Object) |