Microsoft.NET-platform. Overzicht van architectuur en mogelijkheden. NET Framework-technologieoverzicht Kerncomponenten van het net-framework

Het .NET Framework is een geïntegreerde Windows-component die de creatie en uitvoering van een nieuwe generatie applicaties en XML-webservices ondersteunt. Het .NET Framework is ontworpen met de volgende doelen in gedachten:

· Zorg voor een consistente objectgeoriënteerde programmeeromgeving voor het lokaal opslaan en uitvoeren van objectcode, voor lokale uitvoering van code die op internet wordt gedistribueerd, of voor uitvoering op afstand.

· Zorg voor een code-uitvoeringsomgeving die conflicten bij de implementatie van software en versiebeheer minimaliseert.

· Het bieden van een code-uitvoeringsomgeving die de veilige uitvoering van code garandeert, inclusief code die is gegenereerd door onbekende of minder dan volledig vertrouwde derde partijen.

· Zorg voor een code-uitvoeringsomgeving die prestatieproblemen met scripting of geïnterpreteerde code-uitvoeringsomgevingen vermijdt.

· Bied een consistente ontwikkelaarservaring voor verschillende soorten applicaties, zoals Windows-applicaties en webapplicaties.

· Ontwikkel op industriestandaarden gebaseerde interoperabiliteit die ervoor zorgt dat .NET Framework-code met elke andere code kan worden geïntegreerd.

De twee belangrijkste componenten van het .NET Framework zijn de Common Language Runtime (CLR) en de .NET Framework-klassebibliotheek. De kern van het .NET Framework is de CLR. De runtime kan worden gezien als een agent die code tijdens runtime beheert en basisdiensten levert zoals geheugenbeheer, threadbeheer en externe communicatie. Tegelijkertijd worden strikte typevoorwaarden en andere vormen van verificatie van de nauwkeurigheid van de code opgelegd om de veiligheid en betrouwbaarheid te garanderen. In feite is de hoofdtaak van de runtime het beheren van code. Code die toegang heeft tot de runtime wordt beheerde code genoemd, en code die geen toegang heeft tot de runtime wordt onbeheerde code genoemd. Een ander kernonderdeel van het .NET Framework, de klassenbibliotheek, biedt een complete objectgeoriënteerde verzameling typen die worden gebruikt om applicaties te ontwikkelen, variërend van conventionele applicaties die worden uitgevoerd vanaf de opdrachtregel of met een grafische gebruikersinterface, tot applicaties die profiteren van de nieuwste ASP.NET-technologiemogelijkheden, zoals webformulieren en XML-webservices.

Het .NET Framework kan onbeheerde componenten hosten die de Common Language Runtime (CLR) in hun eigen processen laden en beheerde code uitvoeren, waardoor een programmeeromgeving ontstaat die zowel beheerde als onbeheerde uitvoering mogelijk maakt. Het .NET Framework biedt niet alleen verschillende core-runtimes, maar ondersteunt ook de ontwikkeling van core-runtimes door derden.


ASP.NET host bijvoorbeeld de runtime om een ​​schaalbare serveromgeving voor beheerde code te bieden. ASP.NET werkt rechtstreeks samen met de runtime om ASP.NET-toepassingen en XML-webservices mogelijk te maken, die beide later in dit onderwerp worden besproken.

Internet Explorer is een voorbeeld van een onbeheerde applicatie die de runtime host (in de vorm van een MIME-type extensie). Als u Internet Explorer gebruikt om de runtime te hosten, kunt u beheerde componenten of Windows Forms-besturingselementen in HTML-documenten insluiten. Door de runtime op deze manier te hosten wordt beheerde mobiele code (vergelijkbaar met Microsoft® ActiveX®-besturingselementen) mogelijk, maar met aanzienlijke verbeteringen die alleen beheerde code kan bieden, zoals semi-vertrouwde uitvoering en geïsoleerde bestandsopslag.

De volgende afbeelding toont de relatie tussen de runtime van de gemeenschappelijke taal en de klassenbibliotheek met uw toepassingen en met het algehele systeem. De afbeelding laat ook zien hoe beheerde code werkt binnen een grotere architectuur.

NET Framework in context

In de volgende secties worden de belangrijkste componenten en functies van .NET Framework gedetailleerder beschreven.


ASP.NET host bijvoorbeeld de runtime en biedt een schaalbare omgeving voor beheerde code aan de serverzijde. ASP.NET werkt rechtstreeks samen met de runtime om de uitvoering van de ASP.NET-toepassingen en XML-webservices mogelijk te maken die later in dit onderwerp worden besproken.

Internet Explorer is een voorbeeld van een onbeheerde applicatie die de runtime host (in de vorm van extensies van het MIME-type). Door de runtime in Internet Explorer te hosten, kunt u beheerde componenten of Windows Forms-besturingselementen in HTML-documenten insluiten. Deze omgevingsindeling maakt het mogelijk om beheerde mobiele code uit te voeren (vergelijkbaar met Microsoft® ActiveX®-besturingselementen), maar met de aanzienlijke voordelen van beheerde code, zoals uitvoering van gedeeltelijk vertrouwen en geïsoleerde bestandsopslag.

De volgende afbeelding laat zien hoe de runtime- en klassenbibliotheek van de gemeenschappelijke taal samenwerken met gebruikerstoepassingen en het hele systeem. De figuur laat ook zien hoe beheerde code werkt binnen de bredere architectuur.

NET Framework in context

De volgende secties bieden een meer gedetailleerde beschrijving van de kerncomponenten en functies van .NET Framework.

Het is een van de meest populaire, multifunctionele en actief ontwikkelende programmeertalen van dit moment. Met zijn hulp kun je vrijwel elke software ontwikkelen, beginnend bij eenvoudige winformulieren applicaties, tot grote client-server webapplicaties of zelfs mobiele applicaties en computerspellen. En het werkt op basis van het .NET Framework-platform. Laten we uitzoeken wat het is.

Bekijk mijn video over het .NET Framework en de CLR-runtime voor C#

C#-programmeertaal is relatief nieuw, maar heeft al vertrouwen gewonnen. De release van de eerste versie vond plaats in februari 2002. De nieuwste versie van de taal op het moment van schrijven is C# 7.2, uitgebracht op 16 augustus 2017.

De syntaxis van de C#-taal maakt, zoals de naam al doet vermoeden, deel uit van de familie van C-achtige talen en is vergelijkbaar met andere populaire talen uit deze groep (C++, Java). Als u al bekend bent met een van deze talen, zal het dus veel gemakkelijker voor u zijn om de programmeertaal C# onder de knie te krijgen.

Omdat C# een objectgeoriënteerde taal is, ondersteunt het overerving, polymorfisme, inkapseling, sterke typen van variabelen, overbelasting van operators en meer. Al deze concepten zullen in de volgende artikelen in detail worden besproken. Dankzij het gebruik van het objectgeoriënteerde ontwerpparadigma met behulp van een programmeertaal is het vrij eenvoudig om grootschalige en tegelijkertijd flexibele projecten te ontwikkelen. Tegelijkertijd worden er regelmatig nieuwe versies van de C#-taal uitgebracht, die nieuwe functionaliteit toevoegen om het leven van de ontwikkelaar te vereenvoudigen, de ontwikkelingssnelheid te verhogen en de prestaties en betrouwbaarheid van applicaties te verbeteren.

.NET-platform

.NET-framework is een softwareplatform van het bedrijf Microsoft waardoor ontwikkeling in verschillende programmeertalen mogelijk is, aangezien alle talen één gemeenschappelijke taaluitvoeringsomgeving gebruiken Common Language Runtime (CLR). De belangrijkste mogelijkheden van het .NET-platform zijn dus:

  • Platformonafhankelijk– .NET-framework ondersteund door de meeste moderne besturingssystemen Windows, en het is ook mogelijk om applicaties te maken die worden ondersteund door Linux-systemen, en zelfs mobiele applicaties.
  • Meertalig– aangezien de broncode die in de gebruikte programmeertaal is geschreven, wordt vertaald naar Common Intermediate Language (CIL)-code, wordt het mogelijk om in elke ondersteunde programmeertaal te ontwikkelen en zelfs verschillende programmeertalen in één oplossing te gebruiken. De meest populaire ondersteunde talen zijn C#, VB.NET, C++, F#.
  • Uitgebreide bibliotheek met klassen en technologieën– er zijn een groot aantal kant-en-klare bibliotheken om de noodzakelijke problemen op te lossen. Vaak is het helemaal niet nodig om de low-level logica van de applicatie te implementeren; het is voldoende om een ​​kant-en-klare oplossing te gebruiken, handig geleverd via de nuget-pakketbeheerder. Bovendien maakt het .NET-platform een ​​eenvoudige ontwikkeling mogelijk van vrijwel elk type software dat nodig is.

Beheerde en onbeheerde code. JIT-compilatie

Beheerde code is code die wordt beheerd door de Common Language Runtime (CLR). Dit betekent dat de controleomgeving de mogelijkheid heeft om de uitvoering van een applicatie te pauzeren en op elk moment tijdens de uitvoering specifieke informatie over de status van de applicatie te verkrijgen. De broncode van de gebruikte programmeertaal wordt vertaald naar gecontroleerde CIL-code (ook wel high-level assembler genoemd).

Na het aanmaken van een klassenbibliotheek of applicatie blijft de broncode opgeslagen in CIL. En wanneer u een applicatie start of een bibliotheek opent, wordt Just-In-Time uitgevoerd ( JIT) compilatie van de applicatie in machinecode die specifiek is voor de omgeving waarin de applicatie wordt uitgevoerd. Een belangrijk kenmerk is in dit geval dat alleen het deel van de applicatie of bibliotheek waartoe toegang wordt verkregen (en uiteraard de verbindingen) wordt gecompileerd. Hiermee kunt u de systeemprestaties verbeteren en bronnen besparen.

Onbeheerde code- Dit is code die rechtstreeks wordt vertaald in machine-uitvoerbare code en rechtstreeks door het besturingssysteem wordt uitgevoerd.

Daarnaast raad ik aan het artikel te lezen. En abonneer je ook op de VKontakte-groep, Telegram en YouTube-kanaal. Er zijn nog meer nuttige en interessante dingen voor programmeurs.

Goededag aan iedereen. Alexey Gulynin heeft contact opgenomen. In dit eerste artikel over C# wil ik het graag hebben over het platform .NET-framework. De C#-taal en het platform zelf verschenen voor het eerst in 2002. Het belangrijkste doel van hun creatie was om een ​​eenvoudiger, schaalbaarder en vooral krachtiger programmeermodel te bieden in vergelijking met het COM-programmeermodel. Op basis van het .NET Framework-platform kunt u applicaties bouwen voor de Windows-besturingssystemen; u kunt ook applicaties bouwen voor Unix, Linux en Mac OS X. Hieronder volgt een korte samenvatting lijst met functies die worden ondersteund door het .NET Framework:

1) Mogelijkheid om te communiceren met bestaande code. Met deze functie kunt u bijvoorbeeld binaire COM-componenten en .NET-componenten compileren.
2) Ondersteuning voor verschillende programmeertalen. .NET-applicaties kunnen worden gemaakt met behulp van verschillende programmeertalen, zoals C#, Visual Basic, F#.
3) Algemeen uitvoeringsmechanisme. Het punt hier is dat .NET een specifieke set typen heeft die elke .NET-ondersteunende taal kan begrijpen.
4) Taalintegratie. U kunt een klasse schrijven in Visual Basic en deze vervolgens uitbreiden in C#.
5) Grote bibliotheek met basisklassen. Dankzij deze bibliotheek kunnen we de complexiteit van het implementeren van low-level oproepen naar API's vergeten en ons eenvoudigweg concentreren op programmeren.
6) Eenvoudig implementatiemodel. In tegenstelling tot de COM-bibliotheek hoeft .NET niet in het register te worden geregistreerd. Het kan bestaan ​​als een assembly.dll.

Misschien schreef ik hier over enkele onbegrijpelijke dingen, bijvoorbeeld klassen, API-interfaces. Het is nog niet de moeite waard om je hier druk over te maken. In principe kun je programmeren zonder dit allemaal te weten, maar laten we de manier waarop we leren de praktijk een beetje verdunnen met theorie.
Om je helemaal af te maken met de theorie, vertel ik je over de belangrijkste bouwstenen van het .NET-platform:

1) CLR (Common Language Runtime) - een runtime-omgeving voor een gemeenschappelijke taal. De primaire taak van deze omgeving is het laden en beheren van .NET-objecten (zodat de programmeur dit niet handmatig hoeft te doen). Daarnaast zorgt de CLR voor een aantal details op laag niveau, zoals geheugenbeheer, applicatieplaatsing en het uitvoeren van controles met betrekking tot applicatiebeveiliging.
2) CTS (Common Type System) - een gemeenschappelijk typesysteem. Dit beschrijft alle mogelijke gegevenstypen die door de runtime (CLR) worden ondersteund. Houd er rekening mee dat een enkele taal mogelijk niet alle functies ondersteunt die in de CTS-specificatie zijn gedefinieerd. Daarom is er:
3) CLS (gemeenschappelijke taalspecificatie). Het beschrijft een subset van de veel voorkomende typen en programmeerconstructies die alle programmeertalen voor het .NET Framework moeten ondersteunen.

Naast de CLR- en CTS/CLS-specificaties biedt het .NET-platform bibliotheek van basisklassen, dat beschikbaar is voor alle .NET-programmeertalen. Met deze bibliotheek kunt u bijvoorbeeld bestands-I/O, grafische afbeeldingen, verschillende externe apparaten, datastromen en verschillende services op een hoog niveau beheren (zonder na te denken over implementatiedetails).

Ik ben geen meester in het schrijven van theorie, dus ik zal zeggen dat voor degenen die de filosofie van .NET beter willen begrijpen, ik aanbeveel het eerste hoofdstuk van Andrew Troelsen's boek “The C# 5.0 Programming Language and the .NET 4.5 Platform, te lezen. gepubliceerd in 2013.” Deze samenvatting van het .NET-platform is afkomstig uit dit boek. Het probleem dat ik met dit boek tegenkwam, is hoe moeilijk het is om de stof aan een beginner te presenteren. Misschien denk je van niet, dit is slechts mijn mening.

Nou, mijn vrienden, hebben jullie nog steeds C# willen leren? Laten we dan moedig verder gaan, ik beloof dat er in de toekomst een minimum aan theoretische artikelen zal zijn (al was het maar aan het begin van het leren van C#), slechts één praktijk. Als je een theorie nodig hebt, rook dan het boek van Andrew Troelsen.
En dus, als je informatie nodig hebt over een klasse of de methode ervan, ga dan direct naar

C#
  • Gemeenschappelijke taalruntime) en een klassenbibliotheek...
  • Het .NET Framework en de CTS-specificatie
    De C#-taal en de ondersteuning ervan zijn momenteel gekoppeld aan het door Microsoft ontwikkelde .NET Framework. Het genoemde platform (zie) omvat: Common Language Runtime (CLR - Gemeenschappelijke taalruntime Framework-klassebibliotheek). Er moet worden opgemerkt...
    (PROGRAMMEREN. BASISCURSUS C#)
  • Het .NET Framework en Visual Studio installeren
    In Windows 7 en 8 is het .NET-platform al beschikbaar en hoeft u niets te installeren. Om applicaties op het .NET-platform te ontwikkelen, moet u het Visual Development-systeem installeren C# 2012 (of 2013) Express Edition - een gratis versie van de Visual Studio-ontwikkelomgeving (korter, maar met bijna...
    (Object georiënteerd programmeren)
  • C#-TYPEN EN .NET-FRAMEWORK-TYPEN
    De C#-taal en de ondersteuning ervan zijn momenteel gekoppeld aan het door Microsoft ontwikkelde .NET Framework. Het genoemde platform (zie) omvat: Common Language Runtime (CLR - Gemeenschappelijke taalruntime) en een klassenbibliotheek...
    (PROGRAMMEREN. BASISCURSUS C#)
  • Het .NET Framework en de CTS-specificatie
    De C#-taal en de ondersteuning ervan zijn momenteel gekoppeld aan het door Microsoft ontwikkelde .NET Framework. Het genoemde platform (zie) omvat: Common Language Runtime (CLR - Gemeenschappelijke taalruntime) en klassenbibliotheek (FCL - Framework-klassebibliotheek). Er moet worden opgemerkt...
    (PROGRAMMEREN. BASISCURSUS C#)
  • NET Framework dient als omgeving voor het ondersteunen, ontwikkelen en uitvoeren van gedistribueerde applicaties die zijn gebaseerd op componenten (controls).

    Applicaties (programma's) kunnen in verschillende programmeertalen worden ontwikkeld die deze technologie ondersteunen.

    NET Framework biedt:

    • gezamenlijk gebruik van verschillende programmeertalen;
    • beveiliging en portabiliteit van programma's;
    • algemeen programmeermodel gebaseerd op het Windows-platform.

    2. Wat zijn de belangrijkste componenten van het .NET Framework?

    Vanuit programmeeroogpunt bestaat het .NET Framework uit twee hoofdcomponenten:

    • gemeenschappelijke taaluitvoeringsomgeving CLR (Common Language Runtime);
    • bibliotheek van basisklassen.

    De Common Language Runtime (CLR) lost de problemen op van het automatisch ontdekken van .NET-typen, het laden van die typen en het beheren ervan. De CLR verzorgt het geheugenbeheer, het onderhoud van applicaties, de verwerking van threads en implementeert talrijke beveiligingsgerelateerde controles.

    De basisklassebibliotheek omvat de definitie van verschillende primitieven, zoals: streams, grafische API's, database-implementaties, bestands-I/O, enz.

    3. Wat is het werkingsprincipe van de Common Language Runtime (CLR)?

    De Common Language Runtime (CLR) beheert de uitvoering van .NET-code.

    Na het compileren van een programma in C# (of een andere taal) wordt een bestand aangemaakt dat een speciaal soort pseudocode of bytecode bevat (en niet een uitvoerbaar bestand, zoals voorheen). Deze pseudocode wordt (MSIL) of Common Intermediate Language (CIL) genoemd. Deze pseudocode is Microsoft Intermediate Language.

    Het belangrijkste doel van de CLR is om tussenliggende MSIL-code om te zetten in uitvoerbare code tijdens de uitvoering van het programma.

    Elk programma dat is gecompileerd naar MSIL-pseudocode kan worden uitgevoerd in elke omgeving die een implementatie van de CLR bevat. Hierdoor kunnen programma's draagbaar zijn binnen het .NET Framework.

    Rijst. 1. Het proces van het converteren van de broncode naar MSIL-code (CIL of IL) en het maken van een assemblagebestand (*.dll of *.exe)

    Hierna verandert de pseudocode in uitvoerbare code. Dit wordt gedaan door de JIT-compiler. JIT-compilatie (Just-in-time) is een on-the-fly compilatie.

    De CLR is verantwoordelijk voor het bepalen waar de montage moet worden geplaatst.

    Het gevraagde type dat in de assembly wordt geplaatst (zoals een ArrayList-klasse of ander type) wordt bepaald in het binaire bestand (*.dll of *.exe) door de metadata van het bestand te lezen.

    De CLR plaatst vervolgens het uit de assembly gelezen type in het geheugen.

    De CLR zet de CIL-code vervolgens om in passende instructies die zijn afgestemd op het specifieke platform (afhankelijk van de pc, het besturingssysteem, enz.). Bovendien vinden in deze fase de nodige veiligheidscontroles plaats.

    Het laatste dat u moet doen, is de gevraagde programmacode uitvoeren.

    4. Wat is MSIL-tussentaal ( Microsoft tussentaal) of CIL (Common Intermediate Language)?

    In eerste instantie werd de tussenliggende pseudocodetaal aangeroepen Microsoft tussentaal(MSIL). Later (in de nieuwste versies van .NET) werd deze naam gewijzigd in Common Intermediate Language (CIL - Common Intermediate Language). De afkortingen MSIL, CIL en IL (Intermediate Language) betekenen hetzelfde.

    Tussentaal CIL (of MSIL) wordt gevormd na het compileren van een programma in een programmeertaal die het .NET Framework ondersteunt.

    MSIL is pseudocode. MSIL definieert een reeks instructies die:

    • kan worden overgedragen naar verschillende platforms;
    • niet afhankelijk zijn van een specifieke processor.

    In feite is MSIL dat wel draagbare assembleertaal

    5. Wat is een assemblage vanuit het oogpunt van .NET-technologie?

    Assemblies zijn bestanden met de extensie *.dll of *.exe die .NET-platform-onafhankelijke Intermediate Language (IL)-instructies bevatten, evenals type-metagegevens.

    De assembly wordt gemaakt met behulp van de .NET-compiler. Een assembly is een groot binair object.

    De assembly is ontworpen om naamruimten te behouden. Naamruimten bevatten typen. Typen kunnen klassen, afgevaardigden, interfaces, opsommingen en structuren zijn.

    Een assembly kan een willekeurig aantal naamruimten bevatten. Elke naamruimte kan een willekeurig aantal typen bevatten (klassen, interfaces, structuren, opsommingen, afgevaardigden).

    6. Wat zit er bij de montage inbegrepen?

    Assemblies bevatten CIL-code (MSIL-code of IL-code) en metadata.

    CIL-code wordt alleen voor een specifiek platform gecompileerd als deze toegankelijk is via de .NET-runtime.

    Metagegevens beschrijven in detail de kenmerken van elk type dat binnen een bepaalde binaire .NET-eenheid bestaat.

    Bijvoorbeeld Wanneer u een Windows Forms-toepassing in C# maakt, wordt er een Assembly.info-bestand gemaakt. Dit bestand bevindt zich in de submap Eigenschappen, relatief ten opzichte van de hoofdprogrammamap. Dit bestand bevat algemene informatie over de montage.

    7. Wat is een manifest?

    Manifest is een beschrijving van de assembly zelf met behulp van metadata.

    Het manifest bevat de volgende informatie:

    • over de huidige versie van de assembly;
    • informatie over cultuur (lokalisatie van lijn- en grafische bronnen);
    • een lijst met links naar alle externe assemblages die nodig zijn voor een goede werking.

    8. Diagram van de interactie tussen de broncode, de .NET-compiler en de .NET-runtime-engine.

    De programmeur creëert de broncode van de applicatie in een taal die .NET-technologie ondersteunt (C#, C++/CLI, Visual Basic .NET, enz.). De applicatie is gemaakt in een programmeeromgeving, zoals Microsoft Visual Studio. De compiler genereert een assembly: een bestand dat CIL-instructies, metadata en een manifest bevat.

    Nadat deze applicatie op een bepaalde computer (bepaald platform) is uitgevoerd, wordt de .NET runtime-engine gestart. Eerst moet één van de versies (minimaal) van het .NET Framework op de computer zijn geïnstalleerd.

    Als de broncode basisklassebibliotheken gebruikt (bijvoorbeeld van de mscorlib.dll-assembly), worden deze geladen met behulp van de klassenlader.

    De JIT-compiler stelt de assembly samen, rekening houdend met (het koppelen van) de hardware- en softwarefuncties van de computer waarop de applicatie draait.

    Hierna wordt de applicatie uitgevoerd.

    Figuur 2. Relatie tussen broncode, compiler en .NET runtime-engine

    9. Welke soorten montages zijn er?

    Er zijn twee soorten montages:

    • assemblages met één bestand;
    • assemblages met meerdere bestanden.

    Een assembly die uit één enkele module (*.dll of *.exe) bestaat, wordt single-file genoemd. Bij assemblages met één bestand worden alle noodzakelijke CIL-instructies, metagegevens en manifesten in één, goed gedefinieerd pakket geplaatst.

    Een assembly die uit veel binaire .NET-codebestanden bestaat, wordt een assembly met meerdere bestanden genoemd. Elk van deze bestanden wordt een module genoemd.

    Bij een montage met meerdere bestanden is een van de modules de hoofdmodule (primair).

    10. Welk bestand bevat de hoofdassemblage van de MS Visual Studio-bibliotheek?

    De hoofdassemblage bevindt zich in het bestand “mscorlib.dll”.

    11. Wat is het algemene CTS-type systeem?

    CTS (Common Type System) - een typesysteem dat een volledige beschrijving bevat van alle mogelijke gegevenstypen en programmaconstructies die worden ondersteund door de gemeenschappelijke taal runtime CLR. Het beschrijft ook hoe deze entiteiten met elkaar kunnen communiceren.

    Typen kunnen klassen, interfaces, structuren, opsommingen en afgevaardigden zijn.

    12. Wat is het doel van de Common Language Specification CLS?

    Zoals u weet, kunnen niet alle programmeertalen die .NET-compatibel zijn de functionaliteit van het CTS-type systeem ondersteunen. Hiervoor wordt de gemeenschappelijke taalspecificatie CLS (Common Language Specification) gebruikt.

    Het doel van CLS is om alleen die subset van veel voorkomende typen en programmeerconstructies te beschrijven die worden geaccepteerd door absoluut alle programmeertalen die .NET ondersteunen.

    13. Welke programmeertalen ondersteunen .NET-technologie?

    In het applicatieontwikkelingssysteem MS Visual Studio wordt .NET-technologie ondersteund door de volgende programmeertalen: C#, Visual Basic .NET, C++/CLI, JScript .NET, F#, J#.

    Om de .NET-technologie te kunnen gebruiken, moet u software op uw computer installeren Microsoft .NET Framework-softwareontwikkelingskit(SDK) of Microsoft Visual Studio van welke versie dan ook.

    14. Wat is een naamruimte?

    Een naamruimte is bedoeld om een ​​groep typen te verenigen die vanuit semantisch oogpunt aan elkaar gerelateerd zijn. Typen worden in assemblies (assembly) geplaatst. Typen betekenen klassen, afgevaardigden, interfaces, structuren en opsommingen.

    Voorbeelden van naamruimtenamen:

    Systeem Systeemgegevens Systeem.IO Systeemcollecties Systeem.Threading.Taken

    De naamruimte System.Data bevat bijvoorbeeld de hoofdtypen voor het werken met databases, en de naamruimte System.Collections bevat de hoofdtypen voor het werken met collecties.

    15. Hoe kan ik de inhoud van assemblies, namespaces en types weergeven in MS Visual Studio?

    Het Microsoft Visual Studio-systeem heeft een hulpprogramma Object Browser, dat wordt opgeroepen vanuit het menu Beeld (Afbeelding 3).

    Rijst. 3. Het hulpprogramma Objectbrowser oproepen

    Hierdoor wordt het Objectbrowser-venster geopend, waarin de samenstellingen worden weergegeven die in een bepaalde technologie worden gebruikt.

    Figuur 4 toont een lijst met assemblages die worden weergegeven in de “.NET Framework 4”-technologie. Een assembly met de naam “mscorlib” is gemarkeerd.

    Rijst. 4. Objectbrowservenster met de mscorlib.dll-assembly gemarkeerd

    Als u de inhoud van de mscorlib-assembly uitbreidt (de “ + "), dan wordt een lijst met alle naamruimten voor deze assembly weergegeven (Afbeelding 5). Zoals u in de afbeelding kunt zien, bevat de assembly de naamruimten Microsoft.Win32, System, System.Collections, System.Collections.Concurrent en vele andere.

    Rijst. 5. De mscorlib-assembly en de lijst met naamruimten die daarin zijn opgenomen

    Elke naamruimte wordt op dezelfde manier uitgebreid. Naamruimten beschrijven typen. Typen beschrijven methoden, eigenschappen, constanten, enz.

    Figuur 6 toont de klasse BinaryReader uit de naamruimte System.IO. Blijkbaar implementeert de klasse methoden genaamd BinaryReader(), Close(), Dispose(), FillBuffer() en andere.

    Rijst. 6. Inhoud van de klasse BinaryReader

    16. Hoe koppel ik een naamruimte in een C#-programma?

    Om een ​​naamruimte te verbinden, gebruikt u het trefwoord Using