private RadProperty(string name, Type propertyType, Type ownerType, RadPropertyMetadata defaultMetadata, ValidateValueCallback validateValueCallback) { this._metadataMap = new InsertionSortMap(); this._name = name; this._propertyType = propertyType; this._ownerType = ownerType; this._defaultMetadata = defaultMetadata; this._validateValueCallback = validateValueCallback; lock (RadProperty.Synchronized) { this._globalIndex = RadProperty.GetUniqueGlobalIndex(ownerType, name); this.nameHashCode = name.GetHashCode(); RadProperty.RegisteredPropertyList.Add(this); } }