Réflexion en C#

WBOY
WBOYavant
2023-08-26 13:45:021307parcourir

C# 中的反射

Les objets de réflexion sont utilisés pour obtenir des informations de type au moment de l'exécution. Les classes qui permettent d'accéder aux métadonnées d'un programme en cours d'exécution se trouvent dans l'espace de noms System.Reflection.

Ce qui suit est une application de Reflections -

  • Il permet d'afficher les informations sur les attributs au moment de l'exécution.

  • Il permet d'inspecter différents types dans un assemblage et d'instancier ces types.

  • Il permet une liaison tardive aux méthodes et propriétés
  • Il permet de créer de nouveaux types au moment de l'exécution puis d'utiliser ces types pour effectuer certaines tâches.

  • ul>

    Voyons un exemple -

    Example

    using System;
    
    [AttributeUsage(AttributeTargets.All)]
    public class HelpAttribute : System.Attribute {
       public readonly string Url;
    
       public string Topic // Topic is a named parameter {
          get {
             return topic;
          }
          set {
             topic = value;
          }
       }
       public HelpAttribute(string url) // url is a positional parameter {
          this.Url = url;
       }
       private string topic;
    }
    
    [HelpAttribute("Information on the class MyClass")]
       class MyClass {
    }
    
    namespace AttributeAppl {
       class Program {
          static void Main(string[] args) {
             System.Reflection.MemberInfo info = typeof(MyClass);
             object[] attributes = info.GetCustomAttributes(true);
    
             for (int i = 0; i < attributes.Length; i++) {
                System.Console.WriteLine(attributes[i]);
             }
             Console.ReadKey();
          }
       }
    }

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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer