C# टाइप को किसी क्लास या स्ट्रक्ट के स्कोप के अंदर परिभाषित किया जा सकता है। बाहरी टाइप एक तरह का नेमस्पेस प्रदान करता है। टाइप तक पहुँच बाहरी टाइप के माध्यम से डॉट सिंटैक्स के साथ होती है।
class Outer
{
public interface IInner {}
public enum EInner {}
public class CInner {}
public struct SInner {}
}
var outer = new Outer();
var inner = new Outer.CInner();
आप अंदरूनी टाइप के लिए एक्सेस लेवल सेट कर सकते हैं।
बाहरी टाइप के प्राइवेट मेंबर अंदरूनी टाइप के मेंबर के लिए स्कोप में होते हैं, लेकिन इसका उल्टा नहीं।
कुछ "अन्य" डेवलपर रिमोट कंट्रोल कार प्रोजेक्ट remote-control-competition पर काम कर रहे थे। कोड साफ़ करने के लिए आपको बुलाया गया है।
RemoteControlCar क्लास को रीफैक्टर कीजिए और टेलीमेट्री के मेथड तथा प्रॉपर्टी अलग कर दीजिए, जिन तक Telemetry प्रॉपर्टी के ज़रिए पहुँचा जाता है।
var car = new RemoteControlCar();
car.Telemetry.Calibrate();
car.Telemetry.SelfTest();
car.Telemetry.ShowSponsor("Walker Industries Inc.");
car.CurrentSponsor
// => "Walker Industries Inc."
car.Telemetry.SetSpeed(100, "cps");
car.GetSpeed()
// => "100 centimeters per second"
यह सुनिश्चित कीजिए कि Telemetry इंस्टेंस कार के स्कोप के बाहर नहीं बनाया जा सके।
यह सुनिश्चित कीजिए कि Speed struct का इस्तेमाल RemoteControlCar क्लास के स्कोप के बाहर नहीं किया जा सके।
यह सुनिश्चित कीजिए कि SpeedUnits enum का इस्तेमाल RemoteControlCar क्लास के स्कोप के बाहर नहीं किया जा सके।
Exercism पर साइन अप कीजिए और C# को 62 कॉन्सेप्ट178 अभ्यास तथा असली इंसानों से मिलने वाली मेंटरिंग के साथ सीखिए और उसमें महारत हासिल कीजिए, वह भी बिल्कुल मुफ्त।