Feedback

C# - Generische Event Args -> EventArgs<T>

Veröffentlicht von am 16.11.2010
(0 Bewertungen)
Wer kennt das Problem nicht?

Man hat 10 Entitäten und nun braucht man 10 Events und kann sich an das dumpfsinnige schreiben einfacher EventArgs machen.

Aus diesem Grund gibts hier eine Generische Variante

EventArgs<MyEntity> myArgs = new EventArgs<MyEntity>(myEntityInstace);
GFU-Schulungen  [Anzeige]

ASP.NET Core Server- und Client-Programmierung

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.

VB.NET Komplett

Sie stehen vo der Aufgabe, individuelle Anwendungen für Windows zu schreiben. Hier ist VB.NET die optimale Sprache. Sie erlernt sich recht leicht und passt sich komplett in die .NET Umgebung von Microsoft ein. Nach der Schulung entwickeln Sie anwenderfreundliche Programme in VB.NET . Mit den objektorientierten Modellen in VB.NET erzeugen Sie außerdem wiederverwendbare Komponenten.

using System;
using System.Diagnostics.Contracts;

namespace BE.Framework.Events
{
   /// <summary>
   /// Type Save Generic Eventargs
   /// </summary>
   /// <typeparam name="T">Type of the Argument Value</typeparam>
   /// <remarks>This generic inherited version of the default eventargs can be used to avoid many dummy eventarg classes. </remarks>
    public class EventArgs<T> : System.EventArgs
    {
        [ContractInvariantMethod]
        void ObjectInvariant()
        {
            Contract.Invariant(this.Value != null); 
        }

       private T m_Value;

       /// <summary>
       /// Gets or sets the value of the EventArgs.
       /// </summary>
       /// <value>The value.</value>
       public T Value
       { 
           get
           {
               return m_Value;
           }
           private set
           {
               
               m_Value = value;
           }
       }
        /// <summary>
        /// Initializes a new instance of the <see cref="GenericEventArgs&lt;T&gt;"/> class.
        /// </summary>
        public EventArgs()
            : base()
        {
        }

        /// <summary>
        /// Initializes a new instance of the <see cref="GenericEventArgs&lt;T&gt;"/> class.
        /// </summary>
        public EventArgs(T value)
            : this()
        {
            Contract.Requires<ArgumentNullException>(value != null);
            Contract.Ensures(this.Value != null);
            this.Value = value;
        }
    }
}

Kommentare zum Snippet

 

Logge dich ein, um hier zu kommentieren!