Assembly: System (in system.dll)
Designers serialize themselves to code through an engine that searches through the live property values of objects and generates those values as code. So, for example, the text of a button is generated in the following format.
One of the limitations of this scheme is that it is difficult to retrieve a property from another location. For example, it is very difficult to emit code in the following format, because the only thing the code generator can rely on is the value in the property.
Implement SupportsRelationship to return true for relationships that you support.
Track changes to the source relationship and assign value changes into the target relationship.
The MemberRelationshipService simplifies retrieval of a property value from another location. A designer can access this service to dictate that one member is assigned the value of another. The code generator searches for such relationships when generating code, and if a relationship between two members is found the code generator, it emits code for the relationship rather than searching for the property value. Using the previous text assignment as an example, the following code example shows design time code used to establish a relationship.
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);
Windows 98, Windows Server 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter EditionThe Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.