मैं निम्नलिखितएक स्टेटिक कक्षा के भीतर स्टेटिक वर्ग तक पहुँचने के लिए PowerShell का उपयोग
namespace Foo.Bar
{
public static class ParentClass
{
public const string myValue = "Can get this value";
public static class ChildClass
{
public const string myChildValue = "I want to get this value";
}
}
}
मैं powershell का उपयोग कर myValue प्राप्त कर सकते हैं,
[System.Reflection.Assembly]::LoadWithPartialName("Foo.Bar")
$parentValue = [Foo.Bar.ParentClass]::myValue
की तरह के रूप में एक वर्ग है लेकिन मैं प्राप्त करने में असमर्थ हूँ कक्षा myChildValue कक्षा के भीतर कक्षा। क्या कोई मदद कर सकता है?
सोचा कि यह नीचे जैसा कुछ हो सकता है लेकिन $ childValue हमेशा खाली रहता है।
[System.Reflection.Assembly]::LoadWithPartialName("Foo.Bar")
$childValue = [Foo.Bar.ParentClass.ChildClass]::myChildValue
धन्यवाद, इतनी तेजी से जवाब देने के लिए अतिरिक्त बिंदु। क्या वह + साइन इन है, इसलिए यदि बच्चे के पास कक्षा के नीचे एक वर्ग था तो यह मुझे Foo.Bar.ParentClass + ChildClass + ChildOfChildClass – Cann0nF0dder
'+' उस वर्ग के आंतरिक नाम से है। सी # नामस्थान अलगाव और नेस्टेड कक्षाओं दोनों के लिए डॉट '.' का उपयोग करता है, लेकिन .NET स्वयं नहीं करता है। यह तब स्पष्ट हो जाता है जब आप प्रकारों तक पहुंचने के प्रतिबिंब का उपयोग करते हैं (और यह भी दस्तावेज [वहां] (http://msdn.microsoft.com/library/w3f99sx1.aspx) है, पृष्ठ के आधे रास्ते के बारे में)। तो हाँ, नेस्टेड नेस्टेड कक्षाएं '+' का भी उपयोग करेंगी। – Joey
लिंक और स्पष्टीकरण के लिए धन्यवाद। – Cann0nF0dder