c# معالج الحدث الإكمال التلقائي فيسوال ستوديو مع تنسيق لامدا




visual-studio lambda (2)

يمكنك كتابة:

this.txtTitle.TextChanged += (s, e) => {};

أنا على VS2012 وتريد استخدام تنسيق لامدا لمعالجة الحدث، ولكن فس لا الإكمال التلقائي مع مفتاح علامة التبويب عند كتابة سوبسكريتيون الحدث عبر + =، على سبيل المثال:

فس أوتوكمبليتد مع إشارة إلى وظيفة إدراج الوظيفة:

txtTitle.TextChanged += txtTitle_TextChanged;

void txtTitle_TextChanged(object sender, TextChangedEventArgs e)
{
    ....
}

هل هناك أي طريقة لإجبار الإكمال التلقائي مع تنسيق لامبدا من:

txtTitle.TextChanged += (object sender, TextChangedEventArgs e) =>
{
    ....
}

لها ألم ضخم أن يكون لنسخ ولصق من أوتوكمبليتد غير لامدا لتشديد صيغة لامدا.


Answer #1

يمكنك فقط إنشاء مقتطف شفرة، لدي واحدة لإنشاء أحداث لامبدا.

هنا هو مقتطف إذا كنت ترغب في محاولة (مجرد حفظ كما أيا كان .snippet) والاستيراد في فس (أدوات -> مدير مقتطف الشفرة)

مقتطف:

<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
  <CodeSnippet Format="1.0.0">
    <Header>
      <SnippetTypes>
        <SnippetType>Expansion</SnippetType>
      </SnippetTypes>
      <Title>SnippetFile1</Title>
      <Author>sa_ddam213</Author>
      <Description>
      </Description>
      <HelpUrl>
      </HelpUrl>
      <Shortcut>le</Shortcut>
    </Header>
    <Snippet>
      <Declarations>
        <Literal Editable="true">
          <ID>s</ID>
          <ToolTip>s</ToolTip>
          <Default>s</Default>
          <Function>
          </Function>
        </Literal>
        <Literal Editable="true">
          <ID>e</ID>
          <ToolTip>e</ToolTip>
          <Default>e</Default>
          <Function>
          </Function>
        </Literal>
      </Declarations>
      <Code Language="csharp" Kind="method body"><![CDATA[($s$,$e$) => { };]]></Code>
    </Snippet>
  </CodeSnippet>
</CodeSnippets>

ثم لاستخدام فقط اكتب اسم الحدث + = لو تبويب

مثال

تحميل + = لو تاب

نتيجة

Loaded += (s, e) => { };




intellisense