当前位置: 首页>>代码示例>>C#>>正文


C# EventHandler.ToString方法代码示例

本文整理汇总了C#中EventHandler.ToString方法的典型用法代码示例。如果您正苦于以下问题:C# EventHandler.ToString方法的具体用法?C# EventHandler.ToString怎么用?C# EventHandler.ToString使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在EventHandler的用法示例。


在下文中一共展示了EventHandler.ToString方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: hookDelegate

        /// <summary>
        /// hook delegate
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="target"></param>
        /// <param name="eventname"></param>
        /// <param name="functionname"></param>
        public static void hookDelegate(object sender, EventHandler handler, String eventname, String multi1, String multi2)
        {
            if (sender == null)
            {
                throw new ArgumentNullException("sender");
            }

            if (handler == null)
            {
                throw new ArgumentNullException("handler");
            }

            try
            {
                EventInfo evClick = sender.GetType().GetEvent(eventname);

                //check if a delegate is already hooked
                if (multi1.Equals("Single",StringComparison.OrdinalIgnoreCase))
                {
                    FieldInfo fi = sender.GetType().GetField(eventname, BindingFlags.Static | BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.Public | BindingFlags.FlattenHierarchy);
                    if (fi != null)
                    {
                        Delegate del = (Delegate)fi.GetValue(sender);
                        if (del != null)
                        {
                            if (del.GetInvocationList().Length > 0)
                            {
                                return;
                            }
                        }
                    }
                }

                MethodInfo addHandler = evClick.GetAddMethod();
                Object[] addHandlerArgs = { handler };
                addHandler.Invoke(sender, addHandlerArgs);
            }
            catch (Exception ex)
            {
                //log.Error(ex);
                //throw ex; //TODO make some logging and dont throw
                throw new Exception("Error in hookDelegate: " + eventname + " - " + " - " + sender.ToString() + " - " + handler.ToString() + " - "  + ex.Message);
            }
        }
开发者ID:sharpend,项目名称:Sharpend,代码行数:51,代码来源:Reflection.cs

示例2: ReturnFriendlyDescription

            public void ReturnFriendlyDescription()
            {
                var eventHandler = new EventHandler(typeof(Object), typeof(FakeEvent), (h, e) => { }, () => new Object());

                Assert.Equal($"{typeof (FakeEvent)} Event Handler ({typeof (Object)})", eventHandler.ToString());
            }
开发者ID:SparkSoftware,项目名称:infrastructure,代码行数:6,代码来源:EventHandlerTests.cs


注:本文中的EventHandler.ToString方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。