Externe Dateien
Teil des Abschnitts Objektorientierte Programmierung der C#-Journey von Coddy. Lektion 1 von 70.
Externe Dateien ermöglichen es Ihnen, Ihre Klassen in separaten C#-Dateien zu organisieren und sie in Ihrem Hauptprogramm unter Verwendung von Namespaces zu referenzieren.
Erstellen Sie eine separate C#-Datei namens MyClass.cs
namespace MyApp
{
public class MyClass
{
public string Name { get; set; }
public MyClass(string name)
{
Name = name;
}
public string Greet()
{
return $"Hello, I'm {Name}";
}
}
}Verweise in deiner Hauptdatei auf den Namespace
using MyApp;Erstellen Sie eine Instanz und verwenden Sie diese
MyClass obj = new MyClass("Alice");
Console.WriteLine(obj.Greet());Ausgabe:
Hello, I'm AliceDie Anweisung using MyApp; ermöglicht es dir, Klassen aus dem Namespace MyApp zu verwenden, ohne sie vollständig zu qualifizieren. Der Namespace gruppiert verwandte Klassen. Innerhalb eines einzelnen Projekts sind Klassen standardmäßig dateiübergreifend zugänglich; erst durch die Kennzeichnung einer Klasse als public wird sie auch aus anderen Projekten (Assemblies) zugänglich.
Aufgabe
MittelDir liegen C#-Dateien (MyClass.cs und Program.cs) vor. Füge in der Datei Program.cs eine using-Anweisung hinzu, um die Dateien zu verbinden und die Klasse aus der externen Datei zu verwenden!
Probier es selbst
// TODO: Ersetze das ? durch den korrekten namespace, um MyClass zu verwenden
using ?;
using System;
class Program
{
static void Main()
{
string testCase = Console.ReadLine();
// Erstelle eine Instanz von MyClass und rufe GetMessage() auf
MyClass obj = new MyClass();
Console.WriteLine(obj.GetMessage());
}
}Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Objektorientierte Programmierung
1Grundlagen der OOP
Externe DateienNamespaces & DirektivenEinführung in Klassen & ObjekteDas 'this'-SchlüsselwortMethoden und ParameterFelder vs. EigenschaftenKonstruktorenObjektinitialisiererWiederholung – Einfacher Taschenrechner4Vererbung
Grundlegende Vererbungs-(:)-SyntaxDas „base“-Schlüsselwort„virtual“- und „override“-SchlüsselwörterVersiegelte KlassenDie „object“-BasisklasseWiederholung – Mitarbeiterhierarchie7Erweiterte Funktionen
Überladen von OperatorenIndexer (this[])ToString()-ÜberschreibungErweiterungsmethodenRückblick – Benutzerdefinierte Liste10Entwurfsmuster Teil 1
Einführung in EntwurfsmusterThread-sicheres SingletonFactory-MusterObserver-Muster (Events)Strategy-Muster13Abschließende Herausforderungen
E-Learning-PlattformKomponente für SpielfigurenFahrzeugvermietungsdienst2Eigenschaften & statische Member
Automatisch implementierte EigenschaftenNur lesbare/schreibbare EigenschaftenStatische Felder & MethodenStatische KlassenMember mit Ausdruckskörpern5Polymorphie & Interfaces
Compile- vs. Laufzeit-PolymorphieInterface vs. abstrakte KlasseMehrere InterfacesExplizite InterfacesUpcasting & DowncastingWiederholung – Formenrechner3Klassenarchitektur
Instanz- vs. statische DatenSchlüsselwörter 'readonly' & 'const'Backing FieldsRückblick – Bankkontenverwaltung6Kapselung
ZugriffsmodifikatorenEigenschaften zur KapselungImplementierung der DatenkapselungMuster für UnveränderlichkeitRückblick – SchülerdatenÜbe selbstständig: Online-C#-Compiler