Reflexion in C#

WBOY
Freigeben: 2023-08-26 13:45:02
nach vorne
1305 Leute haben es durchsucht

C# 中的反射

Reflection-Objekte werden verwendet, um Typinformationen zur Laufzeit abzurufen. Klassen, die den Zugriff auf die Metadaten eines laufenden Programms ermöglichen, befinden sich im System.Reflection-Namespace.

Das Folgende ist eine Anwendung von Reflections -

  • Sie ermöglicht die Anzeige von Attributinformationen zur Laufzeit.

  • Es ermöglicht die Prüfung verschiedener Typen in einer Baugruppe und die Instanziierung dieser Typen.

  • Es ermöglicht eine späte Bindung an Methoden und Eigenschaften.
  • Es ermöglicht das Erstellen neuer Typen zur Laufzeit und die anschließende Verwendung dieser Typen zum Ausführen einiger Aufgaben.

  • ul>

    Sehen wir uns ein Beispiel an –

    Beispiel

    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();
          }
       }
    }
    Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonReflexion in C#. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage