Maison développement back-end Tutoriel C#.Net Explication détaillée des exemples de portée de cinq modificateurs d'accès en C#

Explication détaillée des exemples de portée de cinq modificateurs d'accès en C#

Jun 29, 2017 pm 02:36 PM
.net private protected

Dans le langage C#, il existe cinq modificateurs d'accès : public, privé, protégé, interne et protégé interne. La portée du champ d'application est la suivante :
Modificateur d'accès Description
accès public public. sans aucune restriction.
accès privé privé. L'accès est limité aux membres de cette classe, et non aux sous-classes ou instances.
protected protège l'accès. L'accès est limité à cette classe et à ses sous-classes, et les instances ne sont pas accessibles.
accès interne interne. L'accès est limité à ce projet et n'est pas accessible aux autres.
accès interne protégé interne protégé. L'accès est limité à ce projet ou à ses sous-classes. D'autres types de membres
C# inaccessibles peuvent être modifiés et les modificateurs par défaut sont les suivants :
Type de membre Modificateur par défaut Peut être modifié
enum public none
class private public, protected, internal, private,
protected internal
interface public none
struct private public, internal, private
Maintenant, je vais parler de public, private, protected, internal et de la portée de protected internal.
Le code suivant :

[csharp] view plain copy
 
using System;  
using System.Collections.Generic;  
using System.Text;  
  
namespace AccessModifier  
{  
    public class AccessModifierClass  
    {  
        public string GetPublicString()  
         {  
            return "Public String";  
         }  
  
        protected string GetProtectedString()  
         {  
            return "Protected String";  
         }  
  
         private string GetPrivateString()  
         {  
            return "Private String";  
         }  
  
         internal string GetInternalString()  
         {  
            return "Internal String";  
         }  
  
        protected internal string GetProtectedInternalString()  
         {  
            return "Protected Internal String";  
         }  
  
        void AvailableAccessModifier()  
        {  
         this.GetPublicString();  
         this.GetPrivateString();  
         this.GetInternalString();  
         this.GetProtectedInternalString();  
         this.GetProtectedString();  
        }  
     }  
  
  
    public class TestAccessModifierClass1  
     {  
         void AvailableAccessModifier()  
         {  
             AccessModifierClass item = new AccessModifierClass();  
             item.GetPublicString();  
             item.GetInternalString();  
             item.GetProtectedInternalString();  
         }  
     }  
  
     public class TestAccessModifierClass2 : AccessModifierClass  
     {  
         void AvailableAccessModifier()  
         {  
             AccessModifierClass item = new AccessModifierClass();  
             item.GetPublicString();  
             item.GetInternalString();  
             item.GetProtectedInternalString();  
             base.GetProtectedString();  
         }  
     }  
 }
Copier après la connexion


AccessModifierClass est notre classe de modificateur d'accès, qui possède cinq méthodes de modificateur d'accès. On peut voir que la méthode AvailableAccessModifier() dans la classe AccessModifierClass. peut accéder à toutes les méthodes.
La méthode AvailableAccessModifier() de la classe TestAccessModifierClass1 ne peut accéder qu'aux méthodes publiques, internes et internes protégées.

La classe TestAccessModifierClass2 hérite de la classe AccessModifierClass, donc sa méthode AvailableAccessModifier() peut accéder aux méthodes internes publiques, internes, protégées et protégées.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Partagez plusieurs frameworks de projets open source .NET liés à l'IA et au LLM Partagez plusieurs frameworks de projets open source .NET liés à l'IA et au LLM May 06, 2024 pm 04:43 PM

Le développement des technologies d’intelligence artificielle (IA) bat son plein aujourd’hui et elles ont montré un grand potentiel et une grande influence dans divers domaines. Aujourd'hui, Dayao partagera avec vous 4 cadres de projets liés au modèle d'IA open source .NET LLM, dans l'espoir de vous fournir une référence. https://github.com/YSGStudyHards/DotNetGuide/blob/main/docs/DotNet/DotNetProjectPicks.mdSemanticKernelSemanticKernel est un kit de développement logiciel (SDK) open source conçu pour intégrer de grands modèles de langage (LLM) tels qu'OpenAI, Azure

Quelles sont les perspectives d'emploi du C# ? Quelles sont les perspectives d'emploi du C# ? Oct 19, 2023 am 11:02 AM

Que vous soyez débutant ou professionnel expérimenté, la maîtrise du C# ouvrira la voie à votre carrière.

Que signifie privé en Java Que signifie privé en Java Nov 24, 2022 pm 06:27 PM

En Java, private signifie « privé » et est un modificateur de contrôle d'accès utilisé pour modifier les classes, les propriétés et les méthodes. Les membres de la classe modifiés avec private ne peuvent être consultés et modifiés que par les méthodes de la classe elle-même, et ne peuvent être consultés et référencés par aucune autre classe (y compris les sous-classes de la classe, par conséquent, le modificateur private a le niveau de protection le plus élevé) ;

Différences de performances entre le framework Java et le framework .NET Différences de performances entre le framework Java et le framework .NET Jun 03, 2024 am 09:19 AM

En termes de traitement des requêtes à haute concurrence, .NETASP.NETCoreWebAPI fonctionne mieux que JavaSpringMVC. Les raisons incluent : la compilation précoce AOT, qui réduit le temps de démarrage, une gestion plus raffinée de la mémoire, où les développeurs sont responsables de l'allocation et de la libération de la mémoire des objets.

Technologie d'optimisation des performances .NET pour les développeurs Technologie d'optimisation des performances .NET pour les développeurs Sep 12, 2023 am 10:43 AM

Si vous êtes un développeur .NET, vous devez être conscient de l'importance d'optimiser les fonctionnalités et les performances pour fournir des logiciels de haute qualité. En utilisant de manière experte les ressources fournies et en réduisant les temps de chargement des sites Web, vous créez non seulement une expérience agréable pour vos utilisateurs, mais vous réduisez également les coûts d'infrastructure.

Explication détaillée des modificateurs d'accès privé pour les fonctions Java Explication détaillée des modificateurs d'accès privé pour les fonctions Java Apr 25, 2024 pm 04:48 PM

Private est un modificateur d'accès Java qui restreint l'accessibilité d'une fonction uniquement à la classe dans laquelle elle est définie, notamment : la fonction n'est pas accessible dans d'autres classes. La fonction n'est pas non plus accessible dans les sous-classes.

En Java, peut-on déclarer une classe de niveau supérieur comme protégée ou privée ? En Java, peut-on déclarer une classe de niveau supérieur comme protégée ou privée ? Sep 12, 2023 pm 07:21 PM

Non, nous ne pouvons pas déclarer les classes de niveau supérieur comme privées ou protégées. Il peut être public ou par défaut (aucun modificateur). S'il n'y a pas de modificateurs, il devrait y avoir un accès par défaut. Syntaxe //Atoplevelclass publicclassTopLevelClassTest{ //Classbody} Si une classe de niveau supérieur est déclarée comme privée, le compilateur signalera une erreur, demandant "Le modificateur private n'est pas autorisé ici." Cela signifie que les classes de niveau supérieur ne peuvent pas être privées, et il en va de même pour les accès protégés.

Les programmes Java affichent différents niveaux d'accès Les programmes Java affichent différents niveaux d'accès Aug 19, 2023 pm 10:09 PM

Les modificateurs d'accès sont utilisés pour définir la fonctionnalité de visibilité de certaines classes, interfaces, variables, méthodes, constructeurs, membres de données et méthodes de définition particulières dans le langage de programmation Java, nous avons différents types de modificateurs d'accès. Par défaut - Si nous déclarons une fonction, elle ne sera visible que dans un package spécifique. Privé- Si nous déclarons une fonction, elle ne sera disponible que dans une classe spécifique

See all articles