Feedback

C# - DescriptionAttribute von vorhandener Klasse übernehmen

Veröffentlicht von am 03.05.2008
(1 Bewertungen)
Mit diesem ReferencedDescription-Attribut wird für eine Eigenschaft anstelle des Description-Attributs der Text geholt, den NET für eine andere Klasse und Eigenschaft vorgemerkt hat. Beispiel: Für eine DataGridViewMaskedTextBoxColumn-Klasse wird die Beschreibung aus der MaskedTextBox.Mask-Eigenschaft angezeigt:

[ReferencedDescription(typeof(System.Windows.Forms.MaskedTextBox), "Mask")]
GFU-Schulungen  [Anzeige]

ASP.NET Core und Angular Komplett für .NET-Entwickler

Sie  lernen in drei (3) Tagen wie man mit  ASP.NET Core und den Technologien  MVC, Entity Framework, WebAPI und  Razor professionelle sowie moderne  Web-Anwendungsarchitekturen aufbaut.  Die Schulung ist der perfekte  Einstieg um insbesondere datengetriebene  und präsentationsorientierte  Applikationen auf Basis der robusten und  skalierbaren ASP.NET Core  Plattform zu erstellen. Nach der Veranstaltung kennen Sie die Konzepte von Angular und können Angular in neue und bestehende ASP.NET-Anwendungen einsetzen.

ASP.NET 2.0 und 3.5

Dieser Kurs vermittelt Ihnen alle Erweiterungen von Microsoft ASP.NET 2.0. Zu diesen zählen u. a. Data Bindung, Master Pages, und Security.

using System.ComponentModel;

#region Referenced Description Attribute

public class ReferencedDescriptionAttribute : DescriptionAttribute
{

  public ReferencedDescriptionAttribute(Type referencedType, string propertyName)
  {
    string result = "Referenced description not available";

    //    gets the properties of the referenced type
    PropertyDescriptorCollection properties
            = TypeDescriptor.GetProperties(referencedType);

    if (properties != null) {
      // gets a PropertyDescriptor to the specific property.
      PropertyDescriptor property = properties[propertyName];
      if (property != null) {
        //  gets the attributes of the required property
        AttributeCollection attributes = property.Attributes;

        // Gets the description attribute from the collection.
        DescriptionAttribute descript
          = (DescriptionAttribute)attributes[typeof(DescriptionAttribute)];

        // register the referenced description
        if (!String.IsNullOrEmpty(descript.Description))
          result = descript.Description;
      }
    }
    DescriptionValue = result;

  }
}

#endregion

Kommentare zum Snippet

 

Logge dich ein, um hier zu kommentieren!