public ReflectEventDescriptor(Type componentClass, string name, Type type, Attribute[] attributes)
: base(name, attributes)
{
if (componentClass == null)
{
throw new ArgumentException(SR.Format(SR.InvalidNullArgument, nameof(componentClass)));
}
if (type == null || !(typeof(Delegate)).IsAssignableFrom(type))
{
throw new ArgumentException(SR.Format(SR.ErrorInvalidEventType, name));
}
Debug.Assert(type.GetTypeInfo().IsSubclassOf(typeof(Delegate)), "Not a valid ReflectEvent: " + componentClass.FullName + "." + name + " " + type.FullName);
_componentClass = componentClass;
_type = type;
}