2009-08-28 11 views
5

स्वरूप मैं कैसे सुनिश्चित सीएस कोड से उत्पन्न की तरह निम्नलिखित अच्छी तरह से स्वरूपित किया गया है, यानी के रूप में अगर हम दबाया CTRL + कश्मीर + डी कर सकते हैं? यह सी # हैप्रोग्राम जनरेट किया CodeDom कोड

हम की तर्ज पर कुछ कर रहे हैं:

CodeMemberMethod membMethod = new CodeMemberMethod(); 
membMethod.Attributes = MemberAttributes.Static | MemberAttributes.Public; 
membMethod.ReturnType = new CodeTypeReference("IEnumerable<" + TableNameAsSinglular + ">"); 
membMethod.Name = "Get" + TableName; 
membMethod.Statements.Add(new CodeSnippetStatement(DataBaseContext + " dcontext = new " + DataBaseContext + "(ConnectionString);")); 
membMethod.Statements.Add(new CodeSnippetStatement("var records = from record in dcontext." + TableName + " select new " + TableNameAsSinglular + "{")); 
    int iCount = 0; 

    //Add columns fields 
    foreach (DataRow dr in sqlTable.Rows) 
    { 
     if (iCount == 4) 
     break; 
     string strColName = dr["ColumnName"].ToString().Replace(" ", ""); 
     membMethod.Statements.Add(new CodeSnippetStatement(strColName + "=" + "record." + strColName + ",")); 
     iCount++; 
    } 

membMethod.Statements.Add(new CodeSnippetStatement("};")); 

उत्तर

2

कोडडॉम वास्तव में रनटाइम कोड पीढ़ी के लिए है। यदि आप डिज़ाइन समय या संकलन समय पर कोड जेनरेट करना चाहते हैं, तो आपको टी 4 टेम्पलेट्स का उपयोग करना चाहिए। पर

http://www.hanselman.com/blog/T4TextTemplateTransformationToolkitCodeGenerationBestKeptVisualStudioSecret.aspx

+0

आह ठीक है, यह दिलचस्प है। हम codeGenerator.GenerateCodeFromNamespace (cnsCodeDom, sw, cgo) का उपयोग कर (शायद थे!) हैं; फ़ाइल को लिखने के लिए। –

0

दृश्य स्टूडियो में, करने के लिए

उपकरण जाना -> Opetions-पाठ संपादक> सी # -> का प्रारूपण

Ctrl - के - डी कोड को प्रारूपित करने के लिए वहां सेटिंग्स का उपयोग करेगा।

+0

आपके उत्तर के लिए धन्यवाद, मैं सवाल को अद्यतन किया है को प्रतिबिंबित करने के कि मैं इस प्रोग्राम के रूप में हासिल करना चाहते हैं, आदर्श रूप में:

टी -4 आप कोड उत्पादन को फ़ॉर्मेट वास्तव में आप कैसे यह प्रदर्शित करना चाहते हैं उसी समय हम कोडडॉम कोड लिख रहे हैं। मैं वहाँ कुछ है जैसे CodeDom.FormatNicely –

संबंधित मुद्दे