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"); }
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); }
public delegate string NameDelegate(); // это делегат, он может вызвать любое количество подписавшихся на него // методов, схожих по сигнатуре static void Main(string[] args) { NameDelegate name = GetDeveloperName; // подписались на метод Console.WriteLine(name.Invoke()); // вызвали деленат, а он метод Console.ReadLine(); }
/// <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; }
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: "); }
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; }
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(); }
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); }
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); }