public void RegisterProperty(Type targetType, ItemProperty property) { if (!typeof(IExtendedDataItem).IsAssignableFrom(targetType)) { throw new InvalidOperationException("The type '" + targetType + "' does not implement the IExtendedDataItem interface and cannot be extended with new properties"); } ClassDataType ctype = (ClassDataType)GetConfigurationDataType(targetType); ctype.AddProperty(property); }
public void RegisterProperty(Type targetType, string name, Type propertyType, bool isExternal, bool skipEmpty) { if (!typeof(IExtendedDataItem).IsAssignableFrom(targetType)) { throw new InvalidOperationException("The type '" + targetType + "' does not implement the IExtendedDataItem interface and cannot be extended with new properties"); } ClassDataType ctype = (ClassDataType)GetConfigurationDataType(targetType); ItemProperty prop = new ItemProperty(name, propertyType); prop.Unsorted = true; prop.IsExternal = isExternal; prop.SkipEmpty = skipEmpty; ctype.AddProperty(prop); }