namespace net.lshift.ndocproc.examples.genericdelegates { using System; ///Foo delegate internal delegate void Foo(TimeSpan timeout); ///Generic foo delegate internal delegate TResult Foo(TimeSpan timeout); ///Variant one internal delegate TResult Foo1(TimeSpan timeout, TArg arg0); ///Variant two internal delegate TResult Foo2(TimeSpan timeout, out TArg arg0); ///Variant three internal delegate TResult Foo3(TimeSpan timeout, ref TArg arg0); ///Variant four internal delegate TResult Foo4(TimeSpan timeout, TArg[] arg0); ///Variant five internal delegate TResult Foo5(TimeSpan timeout, out TArg[] arg0); ///Variant six internal delegate TResult Foo6(TimeSpan timeout, ref TArg[] arg0); ///Bar delegate internal delegate void Bar(object message, TimeSpan timeout); }