Run Code
|
API
|
Code Wall
|
Users
|
Misc
|
Feedback
|
Login
|
Theme
|
Privacy
|
Patreon
Events
Language:
Ada
Assembly
Bash
C#
C++ (gcc)
C++ (clang)
C++ (vc++)
C (gcc)
C (clang)
C (vc)
Client Side
Clojure
Common Lisp
D
Elixir
Erlang
F#
Fortran
Go
Haskell
Java
Javascript
Kotlin
Lua
MySql
Node.js
Ocaml
Octave
Objective-C
Oracle
Pascal
Perl
Php
PostgreSQL
Prolog
Python
Python 3
R
Rust
Ruby
Scala
Scheme
Sql Server
Swift
Tcl
Visual Basic
Layout:
Vertical
Horizontal
//Title of this code //Rextester.Program.Main is the entry point for your code. Don't change it. using System; using System.Collections.Generic; using System.Linq; using System.Text.RegularExpressions; namespace Rextester { public delegate void AddedEventHandler<T>(T item); public class FancyCollection<T> { IList<T> data = new List<T>(); public event AddedEventHandler<T> AddedEvent; protected virtual void OnAdded(T item) { if (AddedEvent != null) AddedEvent(item); } public virtual void Add(T newItem) { data.Add(newItem); OnAdded(newItem); } } public class Program { public static void LogAddedItem<T>(T item) { Console.WriteLine("Something was added: {0}", item.ToString()); } public static void LogAddedInteger(int item) { Console.WriteLine("Integer was added: {0}", item.ToString()); } public static void Main(string[] args) { FancyCollection<int> collection = new FancyCollection<int>(); collection.Add(5); collection.AddedEvent += LogAddedInteger; collection.Add(6); collection.AddedEvent += LogAddedItem<int>; collection.Add(7); } } }
Show compiler warnings
[
+
]
Show input
edit mode
|
history
|
discussion