निष्पादित करता है .NET में एक विधि (प्रतिनिधि, स्थैतिक विधि, जो कुछ भी) को निष्पादित करने के लिए संभव है? System.Diagnostics.Process
को एक वास्तविक फ़ाइल नाम की आवश्यकता होती है, जिसका अर्थ है कि एक अलग निष्पादन योग्य की आवश्यकता है।एक नई प्रक्रिया शुरू करें जो एक प्रतिनिधि
जो मैं करने की कोशिश कर रहा हूं वह एक इकाई परीक्षण में सत्यापित करना है कि एक ओएस संसाधन प्रक्रिया से बाहर निकलने पर साफ हो जाता है। मुझे पता है कि ऐसी असेंबली बनाने और इसे निष्पादित करने के लिए कोडडॉम या आईएल पीढ़ी का उपयोग कर सकता है, लेकिन इकाई परीक्षणों का पूरा बिंदु जटिलता बनाने के लिए घटक भागों को अलग करना है। इसी कारण से, मैं एक अलग असेंबली से पूरी तरह से बचना चाहता हूं।
आदर्श रूप में, मैं की तरह कुछ करना होगा:
सभी कीpublic static void CreateCounter()
{
var counter = new PerformanceCounter("category", "counter", "instance");
counter.InstanceLifetime = PerformanceCounterInstanceLifetime.Process;
}
[Test]
public void TestResourceDisposal()
{
// Start child process to execute CreateCounter()
...
// verify the resource is disposed
}
तो ऐसा लगता है कि आप सही हैं - ऐसा कोई प्रबंधित तरीका नहीं है जिसे मैं ऐसा कर सकूं। मैं CodeDOM पथ के साथ गया हूं और छोटे .exe उत्पन्न कर रहा हूँ। धन्यवाद! – Ben