public static void AddProvider(TypeDescriptionProvider provider, Type type)
{
if (provider == null)
{
throw new ArgumentNullException(nameof(provider));
}
if (type == null)
{
throw new ArgumentNullException(nameof(type));
}
lock (s_providerTable)
{
// Get the root node, hook it up, and stuff it back into
// the provider cache.
TypeDescriptionNode node = NodeFor(type, true);
TypeDescriptionNode head = new TypeDescriptionNode(provider);
head.Next = node;
s_providerTable[type] = head;
s_providerTypeTable.Clear();
}
Refresh(type);
}