वैश्विक नामस्थान योग्यता आपको वैश्विक ("खाली") नामस्थान में किसी सदस्य तक पहुंचने की अनुमति देती है।
यदि आप MyNamespace.MyClass.DoSomething()) के बजाय एक अयोग्य प्रकार (उदा। MyClass.DoSomething() को कॉल करना चाहते हैं, तो यह वर्तमान नामस्थान में माना जाता है। फिर आप यह कहने के लिए योग्य कैसे हैं कि यह वैश्विक/खाली नामस्थान में है?
इस कोड नमूने (सांत्वना एप्लिकेशन) अपने व्यवहार को वर्णन करना चाहिए:
using System;
namespace MyNamespace
{
public class Program
{
static void Main(string[] args)
{
MessageWriter.Write(); // writes "MyNamespace namespace"
global::MessageWriter.Write(); // writes "Global namespace"
Console.ReadLine();
}
}
// This class is in the namespace "MyNamespace"
public class MessageWriter
{
public static void Write()
{
Console.WriteLine("MyNamespace namespace");
}
}
}
// This class is in the global namespace (i.e. no specified namespace)
public class MessageWriter
{
public static void Write()
{
Console.WriteLine("Global namespace");
}
}
स्रोत
2009-07-10 07:57:20
यह सवाल का जवाब क्यों नहीं देता है। जनरेटेड कोड नामस्थानों में घोषित प्रकारों का उपयोग करता है और अभी भी वैश्विक :: का उपयोग किया जाता है। –
@Ihar: ग्लोबल का उपयोग इस तरह निर्दिष्ट करने के लिए किया जाता है कि नामस्थान एक उपनामस्थान नहीं होना चाहिए ... –
नहीं - प्रश्न तीन चीजें पूछता है: इसका क्या अर्थ है (समझाया गया), यह उपसर्ग क्या है (समझाया गया) और जहां मैं इसका उपयोग करना चाहिए (जिसे आप दो अन्य बिंदुओं को समझने के बाद जान लेंगे)। आपका प्रश्न - "यह डिजाइनर फाइलों में क्यों प्रयोग किया जाता है" मूल प्रश्नकर्ता द्वारा नहीं पूछा गया था। –