Пример #1
0
            internal NLogLogger(object logger)
            {
                var loggerType = logger.GetType();

                _nameDelegate = (NameDelegate)loggerType.GetProperty("Name").GetGetMethod().CreateDelegate(typeof(NameDelegate), logger);

                var logEventInfoType = FindType("NLog.LogEventInfo", "NLog");

                _logEventDelegate = (type, e) => loggerType.GetMethod("Log", new Type[] { typeof(Type), logEventInfoType }).Invoke(logger, new object[] { type, e });

                _isTraceEnabledDelegate = GetIsEnabledDelegate(logger, "IsTraceEnabled");
                _isDebugEnabledDelegate = GetIsEnabledDelegate(logger, "IsDebugEnabled");
                _isInfoEnabledDelegate  = GetIsEnabledDelegate(logger, "IsInfoEnabled");
                _isWarnEnabledDelegate  = GetIsEnabledDelegate(logger, "IsWarnEnabled");
                _isErrorEnabledDelegate = GetIsEnabledDelegate(logger, "IsErrorEnabled");
                _isFatalEnabledDelegate = GetIsEnabledDelegate(logger, "IsFatalEnabled");

                _traceDelegate = GetLogDelegate(logger, "Trace");
                _debugDelegate = GetLogDelegate(logger, "Debug");
                _infoDelegate  = GetLogDelegate(logger, "Info");
                _warnDelegate  = GetLogDelegate(logger, "Warn");
                _errorDelegate = GetLogDelegate(logger, "Error");
                _fatalDelegate = GetLogDelegate(logger, "Fatal");

                _traceExceptionDelegate = GetLogExceptionDelegate(logger, "TraceException");
                _debugExceptionDelegate = GetLogExceptionDelegate(logger, "DebugException");
                _infoExceptionDelegate  = GetLogExceptionDelegate(logger, "InfoException");
                _warnExceptionDelegate  = GetLogExceptionDelegate(logger, "WarnException");
                _errorExceptionDelegate = GetLogExceptionDelegate(logger, "ErrorException");
                _fatalExceptionDelegate = GetLogExceptionDelegate(logger, "FatalException");
            }
Пример #2
0
        public Action(EnabledDelegate enabled, ExecuteDelegate execute, NameDelegate name, bool hideWhenDisabled, Context validContexts, Keys shortcut)
            : this(enabled, execute, name, hideWhenDisabled, validContexts)
        {
            _shortcut = shortcut;

            ui.Actions.ShortcutActions.Add(shortcut, this);
        }
Пример #3
0
        public delegate string NameDelegate(); // это делегат, он может вызвать любое количество подписавшихся на него

        // методов, схожих по сигнатуре
        static void Main(string[] args)
        {
            NameDelegate name = GetDeveloperName; // подписались на метод

            Console.WriteLine(name.Invoke());     // вызвали деленат, а он метод
            Console.ReadLine();
        }
Пример #4
0
 /// <summary>
 /// Constructor for attribute groups that supports multilingual names
 /// </summary>
 /// <param name="id">must provide a unique ID in string representation (Guid.ToString())</param>
 /// <param name="nameDelegate">may NOT be null</param>
 /// <param name="image">may be null</param>
 public Group(Guid id,
              NameDelegate nameDelegate,
              Image image)
 {
     MyGuid         = id;
     MyNameDelegate = nameDelegate;
     MyImage        = image;
 }
Пример #5
0
    public static void Main()
    {
        Person per = new Person("Fabius", "Maximus");

        NameDelegate nDelegate = new NameDelegate(per.ShowFirstName);
        nDelegate("Call 1: ");

        nDelegate = new NameDelegate(per.ShowSecondName);
        nDelegate("Call 2: ");
    }
Пример #6
0
        public Action(EnabledDelegate enabled, ExecuteDelegate execute, NameDelegate name, bool hideWhenDisabled = false, Context validContexts = Context.Everywhere)
        {
            _enabled         = enabled;
            _execute         = execute;
            _name            = name;
            HideWhenDisabled = hideWhenDisabled;
            ValidContexts    = validContexts;

            ui = UIController.Current;
        }
Пример #7
0
    public static void Main()
    {
        Person per = new Person("Fabius", "Maximus");

        NameDelegate nDelegate = new NameDelegate(per.ShowFirstName);

        nDelegate("Call 1: ");

        nDelegate = new NameDelegate(per.ShowSecondName);
        nDelegate("Call 2: ");
    }
Пример #8
0
        static void Main(string[] args)
        {
            NameDelegate nameDelegate = new NameDelegate(PrintName);

            nameDelegate("Aniket");
            nameDelegate("Pallavi");
            nameDelegate("Sheela");
            nameDelegate("Ashok");
            nameDelegate("Shubham");

            SalaryDelegate salaryDelegate = new SalaryDelegate(PrintSalary);

            salaryDelegate(1200000);
            Console.ReadKey();
        }
Пример #9
0
        static void Main(string[] args)
        {
            // Console.WriteLine("Hello World!");
            Delegate D = new Delegate();

            NameDelegate nd = new NameDelegate(D._name);
            string       sm = nd.Invoke("hello all this isreturn type delegate");

            Console.WriteLine(sm);

            AnonymousDelgate AMD = delegate(String s1)
            {
                return(s1);
            };
            String name = AMD.Invoke("COGNINE");

            Console.WriteLine(name);
        }
Пример #10
0
        static void Main(string[] args)
        {
            ProgrammerClass programmer = new ProgrammerClass();
            PLanguagesClass c          = new PLanguagesClass();

            c.NewFeature += programmer.OnNewFeature;
            c.Rename     += programmer.OnRename;

            NameDelegate nameDelegate = c.CommandRename;

            nameDelegate.Invoke("C#");
            FeatureDelegate featureDelegate = c.CommandNewFeature;

            featureDelegate("no main");

            PLanguagesClass python = new PLanguagesClass();

            python.NewFeature += programmer.OnNewFeature;
            python.CommandNewFeature("New libraries");

            PLanguagesClass kotlin = new PLanguagesClass();

            kotlin.Rename += programmer.OnRename;
            kotlin.CommandRename("Project Kotlin");

            string str = "qwerty uiopa sdfgh. jkl; zxcvb: nm";

            Console.WriteLine($"Default string: {str}");

            Func <string, string> stringModification; //public delegate void Action<T>(T obj) возвращает void

            stringModification = StringFunctions.UpperCase;
            string str1 = stringModification.Invoke(str);

            Console.WriteLine(str1);
        }