/// <summary>
 /// Sets the value of an extended property
 /// </summary>
 public static void SetValue(object sender, PropertySpecEventArgs e)
 {
     ((ExPropertySpec)e.Property).Property.SetValue(null, e.Value, null);
 }
            public override void SetValue(object component, object value)
            {
                // Have the property bag raise an event to set the current value
                // of the property.

                PropertySpecEventArgs e = new PropertySpecEventArgs(item, value);
                bag.OnSetValue(e);
            }
 /// <summary>
 /// Gets the value of an extended property
 /// </summary>
 public static void GetValue(object sender, PropertySpecEventArgs e)
 {
     e.Value = ((ExPropertySpec)e.Property).Property.GetValue(e, null);
 }
 /// <summary>
 /// Raises the SetValue event.
 /// </summary>
 /// <param name="e">A PropertySpecEventArgs that contains the event data.</param>
 protected virtual void OnSetValue(PropertySpecEventArgs e)
 {
     if(SetValue != null)
         SetValue(this, e);
 }
            public override object GetValue(object component)
            {
                // Have the property bag raise an event to get the current value
                // of the property.

                PropertySpecEventArgs e = new PropertySpecEventArgs(item, null);
                bag.OnGetValue(e);
                return e.Value;
            }
 /// <summary>
 /// This member overrides PropertyBag.OnSetValue.
 /// </summary>
 protected override void OnSetValue(PropertySpecEventArgs e)
 {
     propValues[e.Property.Name] = e.Value;
     base.OnSetValue(e);
 }
 /// <summary>
 /// This member overrides PropertyBag.OnGetValue.
 /// </summary>
 protected override void OnGetValue(PropertySpecEventArgs e)
 {
     e.Value = propValues[e.Property.Name];
     base.OnGetValue(e);
 }
 /// <summary>
 /// Sets the value of an extended property
 /// </summary>
 public static void SetValue( object sender, PropertySpecEventArgs args )
 {
     ExPropertySpec exProperty = ( ( ExPropertySpec )args.Property );
     exProperty.Value = args.Value;
 }
 /// <summary>
 /// Gets the value of an extended property
 /// </summary>
 public static void GetValue( object sender, PropertySpecEventArgs args )
 {
     ExPropertySpec exProperty = ( ExPropertySpec )args.Property;
     if ( exProperty.PropertyBag != null )
     {
         args.Value = exProperty.PropertyBag;
     }
     else
     {
         args.Value = exProperty.Value;
     }
 }
 /// <summary>
 /// Sets the value of an extended property
 /// </summary>
 public static void SetValue( object sender, PropertySpecEventArgs e )
 {
     ( ( DynPropertySpec )e.Property ).m_BaseProperty.Value = e.Value;
 }