public XamlDirective (IEnumerable<string> xamlNamespaces, string name, XamlType xamlType, XamlValueConverter<TypeConverter> typeConverter, AllowedMemberLocations allowedLocation)
: base (true, xamlNamespaces != null ? xamlNamespaces.FirstOrDefault () : null, name)
{
if (xamlNamespaces == null)
throw new ArgumentNullException ("xamlNamespaces");
if (xamlType == null)
throw new ArgumentNullException ("xamlType");
type = xamlType;
xaml_namespaces = new List<string> (xamlNamespaces);
AllowedLocation = allowedLocation;
type_converter = typeConverter;
invoker = new DirectiveMemberInvoker (this);
}