Maison >développement back-end >C++ >Quels sont les modificateurs d'accès par défaut pour les classes, les membres et autres entités en C #?

Quels sont les modificateurs d'accès par défaut pour les classes, les membres et autres entités en C #?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2025-01-29 04:01:08325parcourir

What Are the Default Access Modifiers for Classes, Members, and Other Entities in C#?

La décoration d'accès par défaut dans le C #

Le modificateur d'accès par défaut en C # suit un principe: le paramètre d'accédabilité de chaque membre est "les autorisations d'accès les plus restreintes que vous pouvez déclarer pour le membre".

spécifiquement, l'accès par défaut à différentes entités en C # est le suivant:

classe (classe):
  • Méthode (méthodes): internal
  • membre (champ, attribut): private
  • Constructeur (constructeur): private
  • Délégués:
  • private Interface (interfaces):
  • private Par exemple, le code suivant représente une classe externe appelée
  • , qui contient une classe imbriquée
  • et une méthode privée : public
  • Ce code est équivalent au code suivant avec un accès explicite au modificateur:

Outer L'une des exceptions de cette règle est lorsque vous définissez une accessibilité différente pour différentes parties de l'attribut (généralement setter). Par exemple: Inner Foo()

Comme décrit dans la spécification C # 3.0 (section 3.5.1), la décoration d'accès par défaut sera différente en fonction du contexte de la déclaration:
<code class="language-csharp">namespace MyCompany
{
    class Outer
    {
        void Foo() { }
        class Inner { }
    }
}</code>

Espaces de noms:
<code class="language-csharp">namespace MyCompany
{
    internal class Outer
    {
        private void Foo() { }
        private class Inner { }
    }
}</code>

type (types):

(dans l'unité de compilation ou l'espace de nom)
<code class="language-csharp">public string Name
{
    get { ... }
    private set { ... } // 显式设置为 private
}</code>

membres de la classe:

  • membres de structure: public (parce que la structure est scellée)
  • Membres de l'interface: internal
  • Membres d'énumération:
  • private
  • Le type imbriqué suit les règles accessibles qui contiennent une classe ou une structure, et la valeur par défaut est une visibilité privée.

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:
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