Share via


InheritedChatRoomProperty Class

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.

Inheritance Hierarchy

System.Object
  Microsoft.Rtc.Collaboration.GroupChat.InheritedChatRoomProperty

Namespace:  Microsoft.Rtc.Collaboration.GroupChat
Assembly:  Microsoft.Rtc.Collaboration.GroupChat (in Microsoft.Rtc.Collaboration.GroupChat.dll)

Syntax

'Declaration
Public Class InheritedChatRoomProperty
'Usage
Dim instance As InheritedChatRoomProperty
public class InheritedChatRoomProperty

Remarks

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.

  1. The default setting for the SendInvitationsToMembers property on the chat room Welcome is nulla null reference (Nothing in Visual Basic), which would result in an effective Value of true for the InheritedChatRoomProperty. In this first example, the Welcome chat room will send invitations to new members.

  2. 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.

  3. 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 nulla null reference (Nothing in Visual Basic)

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

See Also

Reference

InheritedChatRoomProperty Members

Microsoft.Rtc.Collaboration.GroupChat Namespace