/// <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; }