क्या C # के लिए 4+ लाइव टेम्प्लेट का उपयोग करते हैं? [बन्द है]


94

C # के लिए ReSharper 4.0 टेम्प्लेट क्या आप उपयोग करते हैं?

आइए, इन्हें निम्नलिखित प्रारूप में साझा करें:


[शीर्षक]

वैकल्पिक विवरण

शॉर्टकट: शॉर्टकट
उपलब्ध: [उपलब्धता]

// Resharper template code snippet
// comes here

मैक्रो गुण (यदि वर्तमान में):

  • Macro1 - मान - EditableOccurence
  • Macro2 - मान - EditableOccurence


क्या यह प्रोग्रामर पर होना चाहिए। इसके बजाय यह व्यक्तिपरक है।
तिमवी

यह सवाल रचनात्मक नहीं है और वहाँ के बारे में जानकारी का एक बहुत कुछ है वहाँ रहते हैं टेम्पलेट्स और दृश्य स्टूडियो टेम्पलेट्स। programmingsolve.blogspot.com/2014/04/snippet-away.html
Thulani Chivandikwa

जवाबों:


31

सरल लमबा

इतना सरल, इतना उपयोगी - थोड़ा सा लंबोदर:

शॉर्टकट : x

उपलब्ध : C # जहां अभिव्यक्ति की अनुमति है।

x => x.$END$

मैक्रों: कोई नहीं।


22

'निपटान (बूल)' विधि को लागू करें

जो डफी के निपटान पैटर्न को लागू करें

शॉर्टकट: निपटान

इसमें उपलब्ध: C # 2.0+ फाइलें जहां टाइप मेंबर डिक्लेरेशन की अनुमति है

public void Dispose()
{
    Dispose(true);
    System.GC.SuppressFinalize(this);
}

protected virtual void Dispose(bool disposing)
{
    if (!disposed)
    {
        if (disposing)
        {
            if ($MEMBER$ != null)
            {
                $MEMBER$.Dispose();
                $MEMBER$ = null;
            }
        }

        disposed = true;
    }
}

~$CLASS$()
{
    Dispose(false);
}

private bool disposed;

मैक्रो गुण :

  • सदस्य - सुझाएँ System.IDisposable की चर - संपादन योग्य घटना # 1
  • CLASS - युक्त नाम टाइप करें

14

कुछ प्रकार के लिए नई इकाई परीक्षण स्थिरता बनाएं

शॉर्टकट: ntf में
उपलब्ध: C # 2.0+ फाइलें जहां टाइप मेंबर डिक्लेरेशन या नेमस्पेस डिक्लेरेशन की अनुमति है

[NUnit.Framework.TestFixtureAttribute]
public sealed class $TypeToTest$Tests
{
    [NUnit.Framework.TestAttribute]
    public void $Test$()
    {
        var t = new $TypeToTest$()
        $END$
    }
}

मैक्रो:

  • टाइपटेस्ट - कोई नहीं - # 2
  • टेस्ट - कोई नहीं - वी

13

जांचें कि क्या कोई स्ट्रिंग अशक्त या खाली है।

यदि आप .Net 4 का उपयोग कर रहे हैं, तो आप string.IsNullOrWhiteSpace () का उपयोग करना पसंद कर सकते हैं।

शॉर्टकट : sne

इसमें उपलब्ध : C # 2.0+ जहाँ अभिव्यक्ति की अनुमति है।

string.IsNullOrEmpty($VAR$)

मैक्रो गुण :

  • VAR - प्रकार स्ट्रिंग के एक चर का सुझाव देते हैं। संपादन योग्य = सत्य।

11

नया स्टैंड-अलोन यूनिट टेस्ट केस बनाएं

शॉर्टकट: ntc में
उपलब्ध: C # 2.0+ फाइलें जहां टाइप मेंबर डिक्लेरेशन की अनुमति है

[NUnit.Framework.TestAttribute]
public void $Test$()
{
    $END$
}

मैक्रो:

  • टेस्ट - कोई नहीं - वी

10

वर्तमान प्रकार के लिए एक log4net लकड़हारा घोषित करें।

शॉर्टकट: लॉग

इसमें उपलब्ध: C # 2.0+ फाइलें जहां टाइप मेंबर डिक्लेरेशन की अनुमति है

private static readonly log4net.ILog log = log4net.LogManager.GetLogger(typeof($TYPE$));

मैक्रो गुण :

  • टाइप - युक्त नाम

री-शार्पर के साथ, इसका उपयोग क्यों न करें? निजी स्थिर आसानी से ILog _Logger = LogManager.GetLogger (टाइपोफ़ ($ CurrType $)); $ CurrType $ के साथ: टाइपिंग नाम
हेनरिक

क्योंकि अगर मैं बाद में टाइप नाम बदल देता हूं तो मुझे उस लाइन की कोड को भी अपडेट करना होगा। मेरा अधिक गतिशील है।
क्रिस ब्रांड्समा

ReSharper स्वचालित रूप से एक प्रकार के नाम के सभी उदाहरणों का नाम बदल देता है। GetType () भी धीमा है।
रिचर्ड डिंगवाल

9

एमएस टेस्ट यूनिट टेस्ट

एएए सिंटैक्स और आर्ट ऑफ यूनिट टेस्टिंग में पाया गया नामकरण सम्मेलन का उपयोग करके नए एमएस टेस्ट यूनिट टेस्ट

शॉर्टकट: परीक्षण (या टीएसटी, या जो भी आप चाहते हैं)
उपलब्ध: सी # 2.0+ फाइलें जहां टाइप सदस्य घोषणा की अनुमति है

[TestMethod]
public void $MethodName$_$StateUnderTest$_$ExpectedBehavior$()
{
    // Arrange
    $END$

    // Act


    // Assert

}

मैक्रो गुण (यदि वर्तमान में):

  • MethodName - परीक्षण के तहत विधि का नाम
  • StateUnderTest - वह राज्य जिसे आप परखना चाहते हैं
  • ExpectedBehavior - आप क्या होने की उम्मीद करते हैं

8

जाँच करें कि क्या चर शून्य है

शॉर्टकट: ifn
उपलब्ध: C # 2.0+ फाइलें

if (null == $var$)
{
    $END$
}

जांचें कि क्या चर शून्य नहीं है

शॉर्टकट: ifnn में
उपलब्ध: C # 2.0+ फाइलें

if (null != $var$)
{
    $END$
}

15
C ++ से C # में आपके संक्रमण का इलाज कैसे हुआ?
टाइ।

$
W

अच्छी "Yoda स्थितियाँ" !! ... कोडिंग का यह तरीका
नासमझ है

7

क्लास कंस्ट्रक्टर के लिए स्टाइलकॉप-कम्प्लायंट सारांश लिखें

(यदि आप हर कंस्ट्रक्टर के लिए लंबे मानक सारांश में लगातार टाइप करते हुए थक गए हैं तो यह स्टाइलकॉप नियम SA1642 का अनुपालन करता है)

शॉर्टकट: सीसम

इसमें उपलब्ध: C # 2.0+

Initializes a new instance of the <see cref="$classname$"/> class.$END$

मैक्रो:

  • classname - टाइपिंग नाम - V

7

Assert.AreEqual

एक इकाई परीक्षण में जोर डालने के लिए सरल टेम्पलेट

शॉर्टकट : ae
उपलब्ध में : C # 2.0+ फ़ाइलों में जहां कथन की अनुमति है

Assert.AreEqual($expected$, $actual$);$END$

धाराप्रवाह संस्करण:

Assert.That($expected$, Is.EqualTo($actual$));$END$

7

बहुत सारे लम्बोदर

आसान घोंसले के शिकार के लिए एक अलग चर घोषणा के साथ एक लंबो अभिव्यक्ति बनाएं।

शॉर्टकट: ला, एलबी, एलसी

इसमें उपलब्ध: C # 3.0+ फाइलें जहां अभिव्यक्ति या क्वेरी क्लॉज की अनुमति है

ला के रूप में परिभाषित किया गया है:

x => x.$END$

lb के रूप में परिभाषित किया गया है:

y => y.$END$

lc के रूप में परिभाषित किया गया है:

z => z.$END$

यह शॉन केयरन के समान है, सिवाय इसके कि मैं लैम्ब्डा के आसान घोंसले के शिकार के लिए कई लैम्ब्डा लाइव टेम्पलेट्स को परिभाषित करता हूं। " ला " का सबसे अधिक उपयोग किया जाता है, लेकिन इस तरह के भावों से निपटने पर अन्य उपयोगी होते हैं:

items.ForEach(x => x.Children.ForEach(y => Console.WriteLine(y.Name)));

क्या लांबा तर्कों के लिए x, y नामों का उपयोग करना ठीक है? यदि आपके पास दो-तीन स्तर के नेस्टेड लैम्ब्डा हैं, तो आप शायद हर स्तर पर x, y, z का मतलब याद रखना नहीं चाहते हैं। आपके उदाहरण को ध्यान में रखते हुए, मैं items.ForEach (item => ... and item.Children.ForEach (child => ... ...) के साथ जाऊंगा ताकि अंत में मेरे पास बच्चा होगा। y.Name की जगह। लैम्बदास तर्कों के लिए नामकरण को लूप इंडेक्स के लिए उपचारात्मक माना जा सकता है i, j, k
इल्या इवानोव

6

इसके लिए प्रतीक्षा कीजिए...

कंसोल एप्लिकेशन के अंत से पहले उपयोगकर्ता इनपुट के लिए रोकें।

शॉर्टकट: ठहराव

इसमें उपलब्ध: C # 2.0+ फाइलें जहां कथन की अनुमति है

System.Console.WriteLine("Press <ENTER> to exit...");
System.Console.ReadLine();$END$

मैं उपयोग करूंगा Console.ReadKey(true);, और किसी भी कुंजी को दबाने की अनुमति दूंगा।
मास्टरमैस्ट

6

निर्भरता संपत्ति निर्माण

एक निर्भरता संपत्ति उत्पन्न करता है

शॉर्टकट: डीपी
उपलब्ध: सी # 3.0 जहां सदस्य घोषणा की अनुमति है

public static readonly System.Windows.DependencyProperty $PropertyName$Property =
        System.Windows.DependencyProperty.Register("$PropertyName$",
                                                   typeof ($PropertyType$),
                                                   typeof ($OwnerType$));

    public $PropertyType$ $PropertyName$
    {
        get { return ($PropertyType$) GetValue($PropertyName$Property); }
        set { SetValue($PropertyName$Property, value); }
    }

$END$

मैक्रो गुण (यदि वर्तमान में):

प्रॉपर्टीनेम - नो मैक्रो - # 3
प्रॉपर्टी टाइप - इस बिंदु पर अपेक्षित प्रकार - # 2
ओनर टाइप - कंटेंट टाइप नाम - कोई संपादन योग्य घटना नहीं


5

अधिसूचित संपत्ति परिवर्तित

यह मेरा पसंदीदा है क्योंकि मैं अक्सर इसका इस्तेमाल करता हूं और यह मेरे लिए बहुत काम करता है।

शॉर्टकट : एनपीसी

इसमें उपलब्ध : C # 2.0+ जहाँ अभिव्यक्ति की अनुमति है।

if (value != _$LOWEREDMEMBER$)
{
  _$LOWEREDMEMBER$ = value;
  NotifyPropertyChanged("$MEMBER$");
}

मैक्रोज़ :

  • सदस्य - सदस्य प्रकार नाम सहित। संपादन योग्य नहीं। नोट: सुनिश्चित करें कि यह सूची में पहले स्थान पर है।
  • LOWEREDMEMBER - निचले मामले में पहले वर्ण वाले सदस्य का मान। संपादन योग्य नहीं।

उपयोग : इस तरह एक संपत्ति सेटर के अंदर:

private string _dateOfBirth;
public string DateOfBirth
{
   get { return _dateOfBirth; }
   set
   {
      npc<--tab from here
   }
}

यह मानता है कि आपका बैकिंग चर "_" से शुरू होता है। इसे आप जो भी उपयोग करते हैं उससे बदलें। यह भी मानता है कि आपके पास संपत्ति बदलने की विधि कुछ इस तरह है:

private void NotifyPropertyChanged(String info)
{
   if (PropertyChanged != null)
   {
      PropertyChanged(this, new PropertyChangedEventArgs(info));
   }
}

वास्तव में, इस संस्करण का उपयोग मैं लैम्ब्डा आधारित है ('कॉस आई लव माई लैम्बडा!) और नीचे का उत्पादन करता है। सिद्धांत ऊपर के समान हैं।

public decimal CircuitConductorLive
{
   get { return _circuitConductorLive; }
   set { Set(x => x.CircuitConductorLive, ref _circuitConductorLive, value); }
}

यही कारण है कि जब मैं कोई प्रयास के लिए पूरे INotifyPropertyChanged बात करने के लिए अत्यंत सुरुचिपूर्ण और उपयोगी PostSharp का उपयोग नहीं कर रहा हूं , तो यह है।


5

त्वरित प्रत्याशित अपवाद शॉर्टकट

मेरी इकाई परीक्षण विशेषताओं में जोड़ने के लिए बस एक त्वरित शॉर्टकट।

शॉर्टकट : ee

इसमें उपलब्ध : C # 2.0+ फाइलें जहां टाइप मेंबर डिक्लेरेशन की अनुमति है

[ExpectedException(typeof($TYPE$))]

बस एक त्वरित ध्यान दें कि यह अब एक युगल संस्करण हो गया है कि ExpectedException को NUnit में Assert.Throws <>
Stécy

हाँ, कृपया सब लोग ExpectedExceptionAttribute का उपयोग करना बंद कर दें, फिर भी
देवों को

5

ऑटोमैपर प्रॉपर्टी मैपिंग

शॉर्टकट: एफ.एम.

इसमें उपलब्ध: C # 2.0+ फाइलें जहां कथन की अनुमति है

.ForMember(d => d$property$, o => o.MapFrom(s => s$src_property$))
$END$

मैक्रो:

  • संपत्ति - संपादन योग्य घटना
  • src_property - संपादन योग्य घटना

ध्यान दें:

मैं लैम्बडा "डॉट" को छोड़ देता हूं ताकि मैं हिट कर सकूं। तुरंत और प्रॉपर्टी इंटेलीजेंस पाएं। AutoMapper ( http://automapper.codeplex.com/ ) की आवश्यकता है।


4

NUnit के लिए टेस्ट केस स्टब बनाएं

यह एक रिमाइंडर के रूप में कार्य कर सकता है (कार्यान्वयन या परीक्षण करने के लिए कार्यक्षमता का) जो इकाई परीक्षण धावक (किसी भी अन्य उपेक्षित परीक्षण के रूप में) को दिखाता है,

शॉर्टकट: nts में
उपलब्ध: C # 2.0+ फाइलें जहां टाइप मेंबर डिक्लेरेशन की अनुमति है

[Test, Ignore]
public void $TestName$()
{
    throw new NotImplementedException();
}
$END$

मैं इस पर एक बदलाव करते हैं, लेकिन स्पष्ट Assert.Fail () शरीर में साथ: aleriel.com/blog/2010/04/07/replace-paper-with-unit-tests
एडम लेअर

4

यदि आवश्यक हो तो आह्वान करें

WinForms अनुप्रयोगों को विकसित करने के लिए उपयोगी जहां एक विधि को गैर-यूआई थ्रेड्स से कॉल करने योग्य होना चाहिए, और उस विधि को तब UI थ्रेड पर कॉल को मार्शल करना चाहिए।

शॉर्टकट : निमंत्रण

इसमें उपलब्ध : C # 3.0+ फाइल स्टेटमेंट की अनुमति है

if (InvokeRequired)
{
    Invoke((System.Action)delegate { $METHOD_NAME$($END$); });
    return;
}

मैक्रो

  • METHOD_NAME - इसमें सदस्य नाम टाइप करना

आप सामान्य रूप से इस टेम्पलेट का उपयोग किसी दिए गए तरीके में पहले कथन के रूप में करेंगे और परिणाम जैसा होगा:

void DoSomething(Type1 arg1)
{
    if (InvokeRequired)
    {
        Invoke((Action)delegate { DoSomething(arg1); });
        return;
    }

    // Rest of method will only execute on the correct thread
    // ...
}

4

नई सी # गाइड

एक नया System.Guid उदाहरण जनरेट करता है जो एक नए जनरेटेड गाइड वैल्यू के लिए आरंभिक है

शॉर्टकट: सीएसयूजी में उपलब्ध सी # 2.0+ फाइलें

new System.Guid("$GUID$")

मैक्रो गुण :

  • GUID - नया GUID - गलत

ReSharper के हाल के संस्करणों में अब डिफ़ॉल्ट रूप से नग शॉर्टकट शामिल हैं ।
जेमी कीलिंग

यह सच है, लेकिन यह केवल एक गाइड मूल्य उत्पन्न करता है, न कि C # में टाइप को इनिशियलाइज़ करता है।
कोडकाइज़न

4

MSTest टेस्ट विधि

यह थोड़ा लंगड़ा है लेकिन यह उपयोगी है। उम्मीद है कि किसी को इसमें से कुछ उपयोगिता मिल जाएगी।

शॉर्टकट: testMethod

इसमें उपलब्ध: C # 2.0

[TestMethod]
public void $TestName$()
{
    throw new NotImplementedException();

    //Arrange.

    //Act.

    //Assert.
}

$END$

4

NUnit सेटअप विधि

शॉर्टकट: सेटअप
उपलब्ध में: सी # 2.0+ फाइलों में उपलब्ध है जहां टाइप सदस्य घोषणा की अनुमति है

[NUnit.Framework.SetUp]
public void SetUp()
{
    $END$
}

अच्छी बात। मैं कुछ ऐसे मामलों के बारे में सोच सकता हूं, जहां आप परीक्षण जुड़नार को उप-वर्ग करना चाहते हैं (शायद अगर आप "अनुबंध" परीक्षण लिखना चाहते थे जहां कई वस्तुओं पर एक सेट लागू होना चाहिए), लेकिन मुझे लगता है कि बहुत अधिक सामान्य मामले में, आभासी शानदार है। मैं इसे संपादित करूंगा।
पैराक्वाट

इसमें सुधार ............ निजी $ classUnderTestType $ _classUnderTest; [NUnit.Framework.SetUp] सार्वजनिक शून्य सेटअप () {_classUnderTest = new $ classUnderTestType $ ($ END $); }
बट्टेदेव

4

NUnit टियरडाउन विधि

शॉर्टकट: फाडाउन
उपलब्ध: में उपलब्ध: C # 2.0+ फाइलें जहां टाइप मेंबर डिक्लेरेशन की अनुमति है

[NUnit.Framework.TearDown]
public void TearDown()
{
    $END$
}

3

यह सुनिश्चित करने के लिए कि एक तर्क कभी भी अशक्त नहीं है, पवित्रता की जाँच करें

शॉर्टकट: eann
उपलब्ध: C # 2.0+ फाइलें जहां टाइप स्टेटमेंट की अनुमति है

Enforce.ArgumentNotNull($inner$, "$inner$");

मैक्रो:

  • भीतरी - सुझाव पैरामीटर - # 1

टिप्पणी: हालांकि यह स्निपेट खुले स्रोत .NET लोकद को लक्षित करता है। पुस्तकालय में, यह आसानी से किसी अन्य प्रकार के तर्क जांच के लिए अनुकूलित किया जा सकता है।


3

न्यू COM क्लास

शॉर्टकट : कॉमक्लास

इसमें उपलब्ध : C # 2.0+ फाइलें जहां प्रकार के सदस्य घोषणा या नाम स्थान की घोषणा की अनुमति है

[ComVisible(true)]
[ClassInterface(ClassInterfaceType.None)]
[Guid("$GUID$")]
public class $NAME$ : $INTERFACE$
{
    $END$
}

मैक्रो

  • GUID - नई GUID
  • NAME - संपादन योग्य
  • इंटरफ़ेस - संपादन योग्य

2
अच्छा टेम्पलेट, लेकिन यह लाइव टेम्पलेट के बजाय फ़ाइल टेम्पलेट के लिए बेहतर अनुकूल हो सकता है।
ड्रू नोक

3

आवश्यक नहीं है

WinForms अनुप्रयोगों को विकसित करते समय उपयोगी जहां आप सुनिश्चित करना चाहते हैं कि कोड किसी दिए गए आइटम के लिए सही थ्रेड पर निष्पादित हो रहा है। ध्यान दें कि Controlलागू करता है ISynchronizeInvoke

शॉर्टकट : एनी

इसमें उपलब्ध : C # 2.0+ फ़ाइल विवरण की अनुमति है

Debug.Assert(!$SYNC_INVOKE$.InvokeRequired, "InvokeRequired");

मैक्रो

  • SYNC_INVOKE - का सुझाव दिया गया चरSystem.ComponentModel.ISynchronizeInvoke

2

ट्रेस - रिटलाइन, प्रारूप के साथ

एक स्वरूपित स्ट्रिंग के साथ एक ट्रेस जोड़ने के लिए बहुत ही सरल टेम्पलेट (जैसे कि डीबग.ट्राइटलाइन पहले से ही समर्थन करता है)।

शॉर्टकट: ट्वेल्‍प में
उपलब्ध: C # 2.0+ फाइलें जहां कथन की अनुमति है

Trace.WriteLine(string.Format("$MASK$",$ARGUMENT$));

मैक्रो गुण:

  • तर्क - value- संपादन योग्य
  • मुखौटा - "{0}"- EditableOccurence

1

नया टाइपमॉक आइसोलेटर नकली

शॉर्टकट : नकली में
उपलब्ध : [c # 2.0 फ़ाइलों में जहां कथन की अनुमति है]

$ TYPE $ $ नाम $ Fake = Isolate.Fake.Instance ();
पृथक करें। जब बंद () => $ नाम $ नकली।)

मैक्रो गुण:
* $ TYPE $ - एक नए चर के लिए सुझाव प्रकार
* $ नाम $ - दूसरे चर का मान ( प्रकार ) निचले मामले में पहले चरित्र के साथ


1

चूंकि मैं अभी एकता के साथ काम कर रहा हूं, इसलिए मैं अपने जीवन को थोड़ा आसान बनाने के लिए कुछ लेकर आया हूं:


उपनाम टाइप करें

शॉर्टकट : टा में
उपलब्ध : * .xml; * .config

<typeAlias alias="$ALIAS$" type="$TYPE$,$ASSEMBLY$"/>

घोषणा प्रकार

यह एक प्रकार है जिसका कोई नाम नहीं है और कोई तर्क नहीं है

शॉर्टकट : tp में
उपलब्ध : * .xml; * .config

<type type="$TYPE$" mapTo="$MAPTYPE$"/>

घोषणा प्रकार (नाम के साथ)

यह एक प्रकार का नाम है और कोई तर्क नहीं है

शॉर्टकट : tn में
उपलब्ध : * .xml; * .config

<type type="$TYPE$" mapTo="$MAPTYPE$" name="$NAME$"/>

कंस्ट्रक्टर के साथ घोषणा प्रकार

यह एक प्रकार का नाम है और कोई तर्क नहीं है

शॉर्टकट : tpc में
उपलब्ध : * .xml; * .config

<type type="$TYPE$" mapTo="$MAPTYPE$">
  <typeConfig>
    <constructor>
        $PARAMS$
    </constructor>
  </typeConfig>
</type>

आदि....


1

log4net XML कॉन्फ़िगरेशन ब्लॉक

आप सीधे टेम्पलेट आयात कर सकते हैं:

<TemplatesExport family="Live Templates">
  <Template uid="49c599bb-a1ec-4def-a2ad-01de05799843" shortcut="log4" description="inserts log4net XML configuration block" text="  &lt;configSections&gt;&#xD;&#xA;    &lt;section name=&quot;log4net&quot; type=&quot;log4net.Config.Log4NetConfigurationSectionHandler,log4net&quot; /&gt;&#xD;&#xA;  &lt;/configSections&gt;&#xD;&#xA;&#xD;&#xA;  &lt;log4net debug=&quot;false&quot;&gt;&#xD;&#xA;    &lt;appender name=&quot;LogFileAppender&quot; type=&quot;log4net.Appender.RollingFileAppender&quot;&gt;&#xD;&#xA;      &lt;param name=&quot;File&quot; value=&quot;logs\\$LogFileName$.log&quot; /&gt;&#xD;&#xA;      &lt;param name=&quot;AppendToFile&quot; value=&quot;false&quot; /&gt;&#xD;&#xA;      &lt;param name=&quot;RollingStyle&quot; value=&quot;Size&quot; /&gt;&#xD;&#xA;      &lt;param name=&quot;MaxSizeRollBackups&quot; value=&quot;5&quot; /&gt;&#xD;&#xA;      &lt;param name=&quot;MaximumFileSize&quot; value=&quot;5000KB&quot; /&gt;&#xD;&#xA;      &lt;param name=&quot;StaticLogFileName&quot; value=&quot;true&quot; /&gt;&#xD;&#xA;&#xD;&#xA;      &lt;layout type=&quot;log4net.Layout.PatternLayout&quot;&gt;&#xD;&#xA;        &lt;param name=&quot;ConversionPattern&quot; value=&quot;%date [%3thread] %-5level %-40logger{3} - %message%newline&quot; /&gt;&#xD;&#xA;      &lt;/layout&gt;&#xD;&#xA;    &lt;/appender&gt;&#xD;&#xA;&#xD;&#xA;    &lt;appender name=&quot;ConsoleAppender&quot; type=&quot;log4net.Appender.ConsoleAppender&quot;&gt;&#xD;&#xA;      &lt;layout type=&quot;log4net.Layout.PatternLayout&quot;&gt;&#xD;&#xA;        &lt;param name=&quot;ConversionPattern&quot; value=&quot;%message%newline&quot; /&gt;&#xD;&#xA;      &lt;/layout&gt;&#xD;&#xA;    &lt;/appender&gt;&#xD;&#xA;&#xD;&#xA;    &lt;root&gt;&#xD;&#xA;      &lt;priority value=&quot;DEBUG&quot; /&gt;&#xD;&#xA;      &lt;appender-ref ref=&quot;LogFileAppender&quot; /&gt;&#xD;&#xA;    &lt;/root&gt;&#xD;&#xA;  &lt;/log4net&gt;&#xD;&#xA;" reformat="False" shortenQualifiedReferences="False">
    <Context>
      <FileNameContext mask="*.config" />
    </Context>
    <Categories />
    <Variables>
      <Variable name="LogFileName" expression="getOutputName()" initialRange="0" />
    </Variables>
    <CustomProperties />
  </Template>
</TemplatesExport>

1

मेथड वर्चुअल करें

वर्चुअल कीवर्ड जोड़ता है। NHibernate, EF, या इसी तरह के ढांचे का उपयोग करते समय विशेष रूप से उपयोगी जहां आलसी लोडिंग या प्रोजेक्शनिंग को सक्षम करने के लिए तरीके और / या गुण आभासी होने चाहिए।

शॉर्टकट: वी

इसमें उपलब्ध: C # 2.0+ फ़ाइल जहाँ प्रकार के सदस्य घोषणा की अनुमति है

virtual $END$

यहां ट्रिक वर्चुअल के बाद की जगह है, जिसे ऊपर देखना मुश्किल हो सकता है। सुधार कोड सक्षम होने के साथ वास्तविक टेम्पलेट "वर्चुअल $ END $" है। यह आपको नीचे सम्मिलित बिंदु पर जाने की अनुमति देता है (इसके द्वारा चिह्नित) | और v टाइप करें:

public |string Name { get; set; }
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.