/// <summary> /// Create a new handle by calling a function, and provide the result. /// </summary> /// <typeparam name="TParam1">Parameter type to creation function.</typeparam> /// <typeparam name="TReturnType">Return type of creation function.</typeparam> /// <param name="dMakeIt">Function used to construct handle.</param> /// <param name="p1">Parameter to construction function.</param> /// <param name="result">Result of construction function.</param> /// <returns>New handle.</returns> static public T Create <TParam1, TReturnType>(DMakeIt <TParam1, TReturnType> dMakeIt, TParam1 p1, out TReturnType result) { T hCreate; result = dMakeIt(p1, out hCreate); return(hCreate); }
static public T Create <TParam1, TReturnType>(DMakeIt <TParam1, TReturnType> dMakeIt, TParam1 p1) { TReturnType result; return(Create(dMakeIt, p1, out result)); }