MemberRelationshipService Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Stellt die Basisklasse zum Erstellen von Beziehungen zwischen Membern bereit.
public ref class MemberRelationshipService abstract
public abstract class MemberRelationshipService
type MemberRelationshipService = class
Public MustInherit Class MemberRelationshipService
- Vererbung
-
MemberRelationshipService
Beispiele
Der MemberRelationshipService vereinfacht das Abrufen eines Eigenschaftswerts von einem anderen Speicherort. Ein Designer kann auf diesen Dienst zugreifen, um vorzuschreiben, dass einem Member der Wert eines anderen zugewiesen wird. Der Codegenerator sucht beim Generieren von Code nach solchen Beziehungen, und wenn eine Beziehung zwischen zwei Membern gefunden wird, gibt der Codegenerator Code für die Beziehung aus, anstatt nach dem Eigenschaftswert zu suchen. Anhand der vorherigen Textzuweisung als Beispiel zeigt das folgende Codebeispiel Entwurfszeitcode, der zum Einrichten einer Beziehung verwendet wird.
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);
Hinweise
Designer serialisieren sich über eine Engine, die die Live-Eigenschaftswerte von Objekten durchsucht und diese Werte als Code generiert. So wird beispielsweise der Text einer Schaltfläche im folgenden Format generiert.
this.okButton.Text = "OK";
Eine der Einschränkungen dieses Schemas ist, dass es schwierig ist, eine Eigenschaft von einem anderen Speicherort abzurufen. Beispielsweise ist es sehr schwierig, Code im folgenden Format auszustrahlen, da der Codegenerator nur den Wert in der -Eigenschaft verwenden kann.
this.titleLabel.Text = this.Text;
Hinweise für Ausführende
Die MemberRelationshipService -Klasse ist abstract
. Die Implementierung einer konkreten Version hängt von den unterstützten Membertypen ab. Beispielsweise kann das Zuordnen eines Ereignisses mit einem anderen eine andere Implementierung als die Beziehung zwischen einer Eigenschaft und einer anderen erfordern. Die Implementierung des Diensts erfordert die folgenden Schritte:
Implementieren Sie SupportsRelationship(MemberRelationship, MemberRelationship) , um für von Ihnen unterstützte Beziehungen zurückzugeben
true
.Nachverfolgen von Änderungen an der Quellbeziehung und Zuweisen von Wertänderungen in die Zielbeziehung.
Konstruktoren
MemberRelationshipService() |
Initialisiert eine neue Instanz der MemberRelationshipService-Klasse. |
Eigenschaften
Item[MemberRelationship] |
Stellt eine Beziehung zwischen einem Quell- und einem Zielobjekt her. |
Item[Object, MemberDescriptor] |
Stellt eine Beziehung zwischen einem Quell- und einem Zielobjekt her. |
Methoden
Equals(Object) |
Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist. (Geerbt von Object) |
GetHashCode() |
Fungiert als Standardhashfunktion. (Geerbt von Object) |
GetRelationship(MemberRelationship) |
Ruft eine Beziehung für die angegebene Quellbeziehung ab. |
GetType() |
Ruft den Type der aktuellen Instanz ab. (Geerbt von Object) |
MemberwiseClone() |
Erstellt eine flache Kopie des aktuellen Object. (Geerbt von Object) |
SetRelationship(MemberRelationship, MemberRelationship) |
Erstellt zwischen der Quellobjekt- und der Zielbeziehung eine Beziehung. |
SupportsRelationship(MemberRelationship, MemberRelationship) |
Ruft einen Wert ab, der angibt, ob die angegebene Beziehung unterstützt wird. |
ToString() |
Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Geerbt von Object) |