ComponentModelDescriptorUtil
using Castle.Core;
using System;
using System.Collections.Generic;
using System.ComponentModel;
namespace Castle.MicroKernel.ModelBuilder
{
[EditorBrowsable(EditorBrowsableState.Never)]
public static class ComponentModelDescriptorUtil
{
public static readonly string MetaDescriptorsKey = "Castle.meta-descriptors";
public static ICollection<IMetaComponentModelDescriptor> GetMetaDescriptors(this ComponentModel model, bool ensureExists)
{
if (model == null)
throw new ArgumentNullException("model");
ICollection<IMetaComponentModelDescriptor> collection = model.ExtendedProperties[MetaDescriptorsKey] as ICollection<IMetaComponentModelDescriptor>;
if ((collection == null) & ensureExists) {
collection = new List<IMetaComponentModelDescriptor>();
model.ExtendedProperties[MetaDescriptorsKey] = collection;
}
return collection;
}
public static void RemoveMetaDescriptors(ComponentModel model)
{
model.ExtendedProperties.Remove(MetaDescriptorsKey);
}
}
}