langhelper.cs

来自「破解的飞信源代码」· CS 代码 · 共 44 行

CS
44
字号
namespace NCindy.Util
{
    using System;
    using System.Reflection;

    public static class LangHelper
    {
        public static void CheckNullArgument(string paramName, object param)
        {
            if (param == null)
            {
                throw new ArgumentNullException(paramName);
            }
        }

        public static void ClearAllEvents(object objectHasEvents)
        {
            if (objectHasEvents != null)
            {
                EventInfo[] events = objectHasEvents.GetType().GetEvents(BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Instance);
                if ((events != null) && (events.Length >= 1))
                {
                    for (int i = 0; i < events.Length; i++)
                    {
                        try
                        {
                            EventInfo info = events[i];
                            FieldInfo field = info.DeclaringType.GetField(info.Name, BindingFlags.NonPublic | BindingFlags.Instance);
                            if (field != null)
                            {
                                field.SetValue(objectHasEvents, null);
                            }
                        }
                        catch
                        {
                        }
                    }
                }
            }
        }
    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?