Skip to main content
All docs
V22.2
  • Inline Lambda

    • 2 minutes to read

    Purpose

    This refactoring creates a lambda expression and inlines a referenced delegate. If there is only one reference to a delegate method, the Inline Lambda refactoring deletes the delegate method. Use this Refactoring to create the delegate in a lambda syntax.

    Availability

    This refactoring is available when the caret is in a method reference within a delegate creation statement.

    How to Use

    1. Place the caret in a method reference within a delegate creation statement. For example, in the “UserControl1_Loaded” method reference.

      namespace Inline {   
          public partial class UserControl1 : UserControl {
              public UserControl1() {
                  InitializeComponent();
      
                  Loaded += UserControl1_Loaded;
              }
      
              private void UserControl1_Loaded(object sender, RoutedEventArgs e) {
                  if(sender != null)
                      sender.ToString();
              }
          }
      }
      
    2. Press the Ctrl + . or Ctrl + ~ shortcut to invoke the Code Actions menu.

    3. Select Inline Lambda from the menu.

      inline-lambda

    After execution, this Refactoring creates a lambda expression and inlines the referenced delegate.

    namespace Inline {   
        public partial class UserControl1 : UserControl {
            public UserControl1() {
                InitializeComponent();
    
                Loaded += (sender, e) =>
                {
                    if (sender != null)
                        sender.ToString();
                };
            }
        }
    }