A C# típusai definiálhatók egy osztály vagy struct scope-ján belül. A befoglaló típus egyfajta névteret biztosít. A típust a befoglaló típuson keresztül lehet elérni, pont szintaxissal.
class Outer
{
public interface IInner {}
public enum EInner {}
public class CInner {}
public struct SInner {}
}
var outer = new Outer();
var inner = new Outer.CInner();
Beállíthatod a hozzáférési szinteket a belső típusokhoz.
A külső típus privát tagjai a belső típus tagjainak a scope-jában vannak, de fordítva nem.
Néhány „más” fejlesztő a távirányítós autó projekten dolgozott remote-control-competition. Téged hívtak be, hogy kitakarítsd a kódot.
Alakítsd át a RemoteControlCar osztályt úgy, hogy különválaszd a telemetriai metódusokat és tulajdonságokat; ezeket ezután egy Telemetry tulajdonságon keresztül éred el.
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"
Biztosítsd, hogy a Telemetry példányt ne lehessen az autó scope-ján kívül létrehozni.
Biztosítsd, hogy a Speed struktúra ne legyen használható a RemoteControlCar osztály scope-ján kívül.
Biztosítsd, hogy a SpeedUnits felsorolás ne legyen használható a RemoteControlCar osztály scope-ján kívül.
Iratkozz fel az Exercism-re, hogy megtanuld és elsajátítsd a(z) C# nyelvet 62 fogalom178 feladat segítségével, valódi emberi mentorálással, mindez ingyen.