C# Diagnostic Directives

C# in Hindiये Article इस वेबसाईट पर Selling हेतु उपलब्‍ध EBook C#.NET in Hindi से लिया गया है। इसलिए यदि ये Article आपके लिए उपयोगी रहा, तो निश्चित रूप से ये पुस्तक भी आपके लिए काफी उपयोगी साबित होगी। 

C#.NET in Hindi | Page:908 | Format: PDF

BUY NOW DOWNLOAD READ ONLINE

Diagnostic Directives का प्रयोग करके हम User-Defined Compile-Time Warning व Error Message Produce कर सकते हैं और User Defined Warning Produce करने के लिए हमें #warning Directive तथा User Defined Error Produce करने के लिए हमें #error Directive को Use करना होता है।

जब User किसी Diagnostic Directive पर पहुंचता है, तो ऐसे Directive पर पहुंचते ही हमारे Directive के साथ Specified Warning या Error Message Screen पर Render हो जाता है।

सामान्‍यत: Diagnostic Directives को किसी न किसी Conditional Compilation Block के बीच ही Specify किया जाता है। जब हम किसी #error Directive को Specify करते हैं, तो Condition के true होने की स्थिति में Compilation :क जाता है। लेकिन यदि हम #warning Directive का प्रयोग करते हैं तो Condition के true होने की स्थिति में भी Warning Message Display होने के बावजूद Compilation नहीं :कता।

इन दोनों Diagnostic Directives को Use करने के विषय में हम निम्नानुसार Program द्वारा आसानी से समझ सकते हैं:

File Name: DiagnosticCompilation.cs
#define EXPERIMENTAL

using System;

namespace CSharpPreprocessor
{
    class ConditionalCompilation
    {
        static void Main()
        {
            #if EXPERIMENTAL
                #warning "Compiled for experimental version."
            #elif TRIAL
                #error "This is trial version."
            #else
                Console.WriteLine("All in Production version");
            #endif

            Console.WriteLine("This is in all versions.");
        }
    }
}

Output:
   DiagnosticCompilation.cs(12,15): warning CS1030: #warning: '"Compiled for experimental version."'
   This is in all versions.

चूंकि इस Program में हमने EXPERIMENTAL Symbol को Define किया है, इसलिए ये Program हमें उपरोक्त अनुसार Output दे रहा है। लेकिन यदि हम इसी Program में TRIAL Symbol को Define कर दें] तो हमारा Program Compile ही नहीं होगा, बल्कि एक User-Defined Compile Time Error Trigger होगा।

#line Directive

जिस File में हम #line Directive को Specify करते हैं, ये Directive उस File का Filename व Line Number Set कर देता है। परिणामस्वरूप उस Filename व Line Number का प्रयोग तब Use होता है जब Compilation के दौरान कोई Error या Warning Message Generate होता है। इस Directive का General Form निम्नानुसार होता है:

#line number “filename”

जहां number कोई भी Positive Integer Number को Represent करता है, जो कि New Line Number बन जाता है और filename के रूप में कोई भी Valid Identifier Specify किया जा सकता है, जो कि नया Filename बन जाता है। #line का मुख्‍य उपयोग Debugging के लिए व Special Applications में किया जाता है।

#line हमें दो Options Provide करता है। पहला default Option होता है, जो File की Original Warning या Error Condition का Line Number Return करता है। इसे निम्नानुसार Specify किया जाता है:

#line default

दूसरा तरीका hidden होता है और ये तरीका उन Lines को Bypass करने का Instruction देता है, जिन्हें दो:

#line hidden

के बीच Enclose किया गया होता है, जबकि दूसरा #line hidden नहीं होता बल्कि एक Normal #line होता है। #line Directive को निम्न Program की तरह Use किया जा सकता है:

File Name: lineDirective.cs
#define EXPERIMENTAL

using System;

namespace CSharpPreprocessor
{
    class ConditionalCompilation
    {
        static void Main()
        {
            #line 100 "DEMO.CS"
            #if EXPERIMENTAL
                #warning "Compiled for experimental version."
            #elif TRIAL
                #error "This is trial version."
            #else
                Console.WriteLine("All in Production version");
            #endif

            Console.WriteLine("This is in all versions.");
        }
    }
}

// Output:
   DEMO.CS(101,15): warning CS1030: #warning: '"Compiled    for experimental version."'
   This is in all versions.

इस Program में जब Compile Time Warning Generate होती है, तो Output में हम देख सकते हैं कि इस बार हमें File का नाम DEMO.CS दिखाई दे रहा है, जबकि Warning की स्थिति Line Number 100 पर दिखाई दे रही है, जबकि ये Program Exactly पिछला वाला ही Program है।

इन दोनों ही Program में इतना अन्तर इसलिए आ रहा है क्योंकि इस Program में हमने निम्नानुसार #line Directive को Specify किया है:

#line 100 “DEMO.CS”

जबकि पिछले Program में हमने ऐसा कोई Directive Specify नहीं किया था।

Conditional Compilation C#
Region in C#

******

ये पोस्‍ट Useful लगा हो, तो Like कर दीजिए।

C# in Hindiये Article इस वेबसाईट पर Selling हेतु उपलब्‍ध EBook C#.NET in Hindi से लिया गया है। इसलिए यदि ये Article आपके लिए उपयोगी रहा, तो निश्चित रूप से ये पुस्तक भी आपके लिए काफी उपयोगी साबित होगी। 

C#.NET in Hindi | Page:908 | Format: PDF

BUY NOW DOWNLOAD READ ONLINE

Download All Hindi EBooks

सभी हिन्दी EBooks C, C++, Java, C#, ASP.NET, Oracle, Data Structure, VB6, PHP, HTML5, JavaScript, jQuery, WordPress, etc... के DOWNLOAD LINKS प्राप्‍त करें, अपने EMail पर।

Register करके Login करें। इस Popup से छुटकारा पाएें।