2013-07-12 4 views
12

क्या सी # कंसोल एप्लिकेशन में एक से अधिक main() विधि (समान पैरामीटर के साथ) होना संभव है? यदि हां, तो कैसे?क्या सी # प्रोग्राम में एक से अधिक मुख्य() विधि हो सकती है?

+0

आप एक से अधिक मुख्य क्यों चाहते हैं? –

+0

इस लेख को देखें http://raviranjankr.wordpress.com/2011/05/20/multiple-main-method-in-c/ – mck

+0

दूसरा क्या होगा? – Mehrdad

उत्तर

17

आपके पास एक से अधिक मुख्य विधि हो सकती हैं, आप निर्दिष्ट कर सकते हैं कि एप्लिकेशन के लिए प्रवेश बिंदु के रूप में उपयोग करना है अपने संकलक .. और अधिक विस्तार के लिए देखें this लिंक

उदाहरण:

using System; 
using System.Collections.Generic; 
using System.Text; 


    namespace Multiple_MainClasses 
    { 
     class A 
     { 
      static void Main(string[] args) 
      { 
       Console.WriteLine("I am from Class A"); 
       Console.ReadLine(); 
      } 
     } 
     class B 
     { 
      static void Main(string[] args) 
      { 

       Console.WriteLine("I am from Class B"); 
       Console.ReadLine(); 
      } 
     } 
    } 

आप इस कोड को चला जाएगा, तो आप संकलन त्रुटि मिल जाएगा। जैसा कि नीचे दिखाया समाधान एक्सप्लोरर या Ctrl + Alt + L में गुण परियोजना के लिए जाना हल करने के लिए आवेदन टैब और विधि के साथ चयन कक्षा जो आप निष्पादित करने के लिए चाहते हैं पर जाएँ:

enter image description here

+0

नियंत्रित किया गया है यदि हमारे पास एक ही कक्षा में दो मुख्य विधि हैं? जैसे .. मुख्य() और मुख्य (स्ट्रिंग [] तर्क) –

+0

@ तुषारकुकरेती यह एक संकलन त्रुटि है। मुख्य विधि केवल एक प्रविष्टि बिंदु के रूप में माना जाता है यदि हस्ताक्षर नीचे दिए गए किसी भी 2 से मेल खाता है और विधि स्थिर 1. मुख्य (स्ट्रिंग []) 2. मुख्य() – Jaguar

3

मुख्य विधि आपके आवेदन में आपका प्रवेश बिंदु है। दूसरों द्वारा प्रदान किए गए लेखों के आधार पर, यह कई मुख्य तरीकों को परिभाषित करने के लिए वाक्य रचनात्मक रूप से मान्य है, लेकिन आपको अपना ऐप चलाने के दौरान एक मुख्य विधि का चयन करना होगा। मुझे लगता है कि यह एक मुख्य समारोह बनाने और इसे कमांड लाइन तर्क आदि का उपयोग करके लचीला बना देता है।

+0

-1 कई बार होना संभव है, इसलिए इस उत्तर में झूठी जानकारी है। – Katu

+0

आपके द्वारा जोड़ा गया लेख एक ही समय में दो मुख्य अनुमति नहीं देता है। ऐसा लगता है कि आप दो को परिभाषित करने की अनुमति देने के लिए एक कंपाइलर चाल की तरह लगते हैं, लेकिन संकलन समय पर केवल एक को शामिल करते हैं। मुझे नहीं लगता कि आपके ऐप – TGH

+0

में दो एंट्री पॉइंट होने के नाते आपके पास कक्षाएं होने पर कई बार हो सकते हैं। 'वोट -; – ChiefTwoPencils

4

हाँ - आप कस्टम निर्दिष्ट कर सकते हैं प्रवेश बिंदु यदि आपके पास एकाधिक मुख्य विधियां हैं। csc /main इसमें जानकारी शामिल है:

यह विकल्प उस वर्ग को निर्दिष्ट करता है जिसमें प्रोग्राम में प्रवेश बिंदु होता है, यदि एक से अधिक कक्षा में मुख्य विधि है।

csc MyClssesWithMain.cs /main:OneOfTheClasses 

नोट: Main तरीकों आप एक ही कक्षा में समान हस्ताक्षर के साथ 2 पद्धतियां नहीं हो सकतीं के रूप में अलग कक्षाओं में रहना होगा।

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

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