using System;
using System.Collections.Generic;
using System.Text;
using System.Collections.Specialized;

namespace System
{
	public delegate void Action();
	public delegate void Action<T1, T2>(T1 p1, T2 p2);
	public delegate TResult Func<TResult>();
	public delegate TResult Func<TParam1, TResult>(TParam1 p1);
	public delegate TResult Func<TParam1, TParam2, TResult>(TParam1 p1, TParam2 p2);
	public delegate TResult Func<TParam1, TParam2, TParam3, TResult>(TParam1 p1, TParam2 p2, TParam3 p3);
	public delegate void NotifyCollectionChangedEventHandler(object sender, NotifyCollectionChangedEventArgs e);
}
