/// <summary> /// Creates a new instance of <see cref="DotNetStaticClickHandler"/> /// </summary> /// <param name="clickHandler">The delegate for a click handler</param> public DotNetStaticClickHandler(StaticClickHandler clickHandler) { ArgValidation.AssertNotNullOrEmpty(nameof(clickHandler), clickHandler); // the method needs to be public and static ArgValidation.AssertIsPublic(clickHandler.Method); ArgValidation.AssertIsStatic(clickHandler.Method); // the method needs to have the attribute JSInvokable ArgValidation.AssertHasCustomAttribute(clickHandler.Method, typeof(JSInvokableAttribute)); //AssemblyName = assembly.GetName().Name; AssemblyName = clickHandler.Method.DeclaringType.Assembly.GetName().Name; MethodName = clickHandler.Method.Name; }
/// <summary> /// Creates a new instance of <see cref="DotNetStaticHoverHandler"/> /// </summary> /// <param name="legendItemOnHoverHandler">The delegate for a hover handler.</param> public DotNetStaticHoverHandler(LegendItemOnHover legendItemOnHoverHandler) { // Check for null ArgValidation.AssertNotNullOrEmpty(nameof(legendItemOnHoverHandler), legendItemOnHoverHandler); // Check for the method to be public and static ArgValidation.AssertIsPublic(legendItemOnHoverHandler.Method); ArgValidation.AssertIsStatic(legendItemOnHoverHandler.Method); // Check for the JsInvokable attribute ArgValidation.AssertHasCustomAttribute(legendItemOnHoverHandler.Method, typeof(JSInvokableAttribute)); AssemblyName = legendItemOnHoverHandler.Method.DeclaringType.Assembly.GetName().Name; MethodName = legendItemOnHoverHandler.Method.Name; }
/// <summary> /// Creates a new instance of <see cref="DotNetInstanceHoverHandler"/> /// </summary> /// <param name="legendItemOnHoverHandler">The delegate for a hover handler</param> public DotNetInstanceHoverHandler(LegendItemOnHover legendItemOnHoverHandler) { // Check for null ArgValidation.AssertNotNullOrEmpty(nameof(legendItemOnHoverHandler), legendItemOnHoverHandler); // Check for the method to be public and static ArgValidation.AssertIsPublic(legendItemOnHoverHandler.Method); // Check for the JsInvokable attribute ArgValidation.AssertHasCustomAttribute(legendItemOnHoverHandler.Method, typeof(JSInvokableAttribute)); // The parameters and return type is taken care of by the delegate's definition InstanceRef = DotNetObjectReference.Create(legendItemOnHoverHandler.Target); MethodName = legendItemOnHoverHandler.Method.Name; }