के लिए एक स्क्रिप्टिंग भाषा के रूप में सी # का उपयोग करना मैंने एक ऐसा एप्लीकेशन विकसित किया है जो कुछ कॉन्फ़िगरेशन और सेटिंग्स के लिए सी # स्क्रिप्ट फ़ाइलों का उपयोग करता है। स्क्रिप्ट फ़ाइल में विभिन्न ऑब्जेक्ट जेनरेट ऑब्जेक्ट्स और उन ऑब्जेक्ट्स पर कुछ फ़ंक्शन शामिल हैं। वर्तमान में, उपयोगकर्ता को किसी तृतीय पक्ष संपादक का उपयोग करके एक .cs फ़ाइल उत्पन्न करना है और इसका उपयोग करने के लिए मेरे प्रोग्राम के पथ की आपूर्ति करना है। इस विधि के साथ नुकसान यह है कि स्क्रिप्ट फ़ाइलों को संपादित करते समय उपयोगकर्ता को ऑटो-पूर्ण और इंटेलिजेंस-एस्क्यू समर्थन की लचीलापन नहीं है।सी # अनुप्रयोग
मैं अपने आवेदन में स्क्रिप्ट संपादन भाग को एम्बेड करना चाहता हूं। मैं एक समृद्ध-पाठ संपादक का उपयोग कर ऐसा कर सकता हूं। लेकिन ऑटो-पूर्ण भाग को कोड करना एक बड़ा दर्द है। क्या कोई तरीका है जिसमें मैं उपयोगकर्ता को इन-प्रोग्राम एडिटर प्रदान कर सकता हूं जो ऑटो-पूर्ण भी करता है ....
प्रोग्राम में गतिशील रूप से एक स्क्रिप्ट को संकलित करने के लिए कोड। एक पार्सर, और प्रतिबिंब:
public String Compile(String inputfilepath)
{
CompilerResults res = null;
CSharpCodeProvider provider = new CSharpCodeProvider();
String errors = "";
if (provider != null)
{
try
{
Assembly asb = Assembly.Load("BHEL.PUMPSDAS.Datatypes, Version=1.0.0.0, Culture=neutral, PublicKeyToken=81d3de1e03a5907d");
CompilerParameters options = new CompilerParameters();
options.GenerateExecutable = false;
options.OutputAssembly = String.Format(outFileDir + oName);
options.GenerateInMemory = false;
options.TreatWarningsAsErrors = false;
options.ReferencedAssemblies.Add("System.dll");
options.ReferencedAssemblies.Add("System.Core.dll");
options.ReferencedAssemblies.Add("System.Xml.dll");
options.ReferencedAssemblies.Add("System.Xml.dll");
options.ReferencedAssemblies.Add(asb.Location);
res = provider.CompileAssemblyFromFile(options, inputfilepath);
errors = "";
if (res.Errors.HasErrors)
{
for (int i = 0; i < res.Errors.Count; i++)
{
errors += "\n " + i + ". " + res.Errors[i].ErrorText;
}
}
}
catch (Exception e)
{
throw (new Exception("Compilation Failed with Exception!\n" + e.Message +
"\n Compilation errors : \n" + errors + "\n"));
}
}
return errors;
}
लुआ, पायथन या पावरस्क्रिप्ट? आप किस स्क्रिप्ट भाषा का उपयोग कर रहे हैं? – David
सी # स्वयं ही मेरी पटकथा भाषा है। मैं अपने प्रोग्राम के भीतर से फ्लाई पर सी # स्क्रिप्ट फ़ाइलों को संकलित करने के लिए कोडडॉम नेमस्पेस का उपयोग कर रहा हूं। –
ओह मेरे भगवान! सी # आपकी लिपि है? क्या आपको यकीन है? – David