Represents a Boolean value of a property which is derived from information associated with an entity, as well as information associated with the logical parent or parents of an entity.
Assembly: Microsoft.Rtc.Collaboration.GroupChat (in Microsoft.Rtc.Collaboration.GroupChat.dll)
The Boolean Value is the effective, derived value which the entity uses to determine its behavior. If the LocalValue is null or ReadOnly, the InheritedValue determines the Value, and therefore the effective behavior. If the LocalValue is defined, and the ReadOnly flag is unset, the LocalValue prevails.
Inherited properties are used to represent the relationship between ChatRoomCategory properties and the ChatRoom properties which inherit them. Inherited properties are also used to represent certain properties of a GroupChatPrincipal. Specifically, a GroupChatUser can inherit some permissions from the GroupChatUserGroup that he or she belongs to. Similarly, a GroupChatFederatedUser inherits some permissions from the GroupChatFederatedUserGroup to which he or she belongs.
Consider the following three examples:
Suppose that a chat room named Welcome is created in a category called OpenChatRooms, and the OpenChatRooms category sets the value of the property SendInvitationsToMembers to True.
The default setting for the SendInvitationsToMembers property on the chat room Welcome is null, which would result in an effective Value of true for the . In this first example, the Welcome chat room will send invitations to new members.
On the other hand, if the Welcome chat room changes the LocalValue of the property to false, the InheritedValue would still be true, but the effective Value and LocalValue of the property would be false. The actual behavior of the chat room is dictated by the derived Value field. So in this example, the Welcome chat room will not send invitations to new members.
Finally, if the OpenChatRooms category kept the setting of true for the SendInvitationsToMembers property, and also changed the setting of ChildrenMustInheritProperties to true, then SendInvitationsToMembers property on the Welcome chat room would become ReadOnly. Hence, the Value would be derived from the InheritedValue, and the LocalValue would be ignored. In this final example, the Welcome chat room will send invitations to new members.
For manageability, the best practice is to define properties at the highest possible level, and whenever possible, leave the local value of the property null