Beispiel #1
0
 /// <summary>
 /// Creates a new <see cref="PropertyPublisher"/> instance.
 /// </summary>
 /// <remarks>
 /// Subclasses must call <see cref="Initialize"/> in order to register event listeners and
 /// set up existing members of the collection.
 /// </remarks>
 /// <param name="owner">The <see cref="PropertyPublisher"/> to whom the collection belongs; see <see cref="Owner"/>.</param>
 /// <param name="property">The name of the published property of the <see cref="Owner"/> which returns the <see cref="Collection"/>.</param>
 public PropertyCollectionHelper(EventQueue dispatcher, PropertyPublisher owner, string property)
 {
     this.m_EventQueue = dispatcher;
     this.m_Owner      = owner;
     this.m_Property   = property;
     this.m_TagTable   = Hashtable.Synchronized(new Hashtable());
 }
Beispiel #2
0
 /// <summary>
 /// Creates a new PropertyPublisher object, publishing all properties
 /// of this type that have the <c>[Published]</c> attribute.
 /// The new PropertyPublisher shares the same event tables and
 /// <see cref="RWL">ReaderWriterLock</see> as the specified parent.
 /// <seealso cref="GetType"/> <seealso cref="Type.GetProperties"/>
 /// </summary>
 protected PropertyPublisher(PropertyPublisher parent)
 {
     this.m_Parent = parent;
     this.Initialize();
 }
Beispiel #3
0
            // FIXME!: Enforce reader locks for all read operations.
            //   This might require reimplementing CollectionBase.

            public PropertyCollectionBase(PropertyPublisher owner, string property)
            {
                this.m_Property = property;
                this.m_Owner    = owner;
            }