On Tuesday, 28 June 2016 at 01:41:03 UTC, "Smoke" Adams wrote:
I have a type

public class SuperFunction(T)
{
  T t;
  return(T) Do() { return t(); }
}

where T is a delegate or function. First, I would like to be able to specify that this must be the case for SuperFunction so we can't pass non-function/delegates for T. Second, How to specify the return type of Do to match that of T.

e.g., SuperFunction!(bool function())

then return(T) should be bool.

Similarly, I would like to extra the T's parameters and make Do have them also.

This way, SuperFunction!T.Do emulates T in every way.

I should mention that I am looking to make this as type safe as possible as if Do was declared exactly like T manually.




Reply via email to