public void Dispose() { m_Mode = CallbackMode.Unassigned; m_CallbackNoArgs = null; m_CallbackNativeArg = null; m_CallbackWithCastedArg = null; m_CastedArgInvoker = null; }
public void Set(Func <TOutput> inFunc) { if (inFunc == null) { throw new ArgumentNullException("inFunc"); } m_Mode = CallbackMode.NoArg; m_CallbackNativeArg = null; m_CallbackWithCastedArg = null; m_CastedArgInvoker = null; m_CallbackNoArgs = inFunc; }
private CastableFunc(Func <TInput, TOutput> inFunc) { if (inFunc == null) { throw new ArgumentNullException("inFunc"); } m_Mode = CallbackMode.NativeArg; m_CallbackNativeArg = inFunc; m_CallbackWithCastedArg = null; m_CastedArgInvoker = null; m_CallbackNoArgs = null; }
public void Set <U>(Func <U, TOutput> inFunc) { if (inFunc == null) { throw new ArgumentNullException("inFunc"); } m_Mode = CallbackMode.CastedArg; m_CallbackNativeArg = null; m_CallbackWithCastedArg = inFunc; m_CastedArgInvoker = CastedFuncInvoker <U, TOutput> .Invoker; m_CallbackNoArgs = null; }
private CastableFunc(MulticastDelegate inCastedDelegate, CastedFunc <TOutput> inCastedInvoker) { if (inCastedDelegate == null) { throw new ArgumentNullException("inCastedDelegate"); } if (inCastedInvoker == null) { throw new ArgumentNullException("inCastedInvoker"); } m_Mode = CallbackMode.CastedArg; m_CallbackNativeArg = null; m_CallbackWithCastedArg = inCastedDelegate; m_CastedArgInvoker = inCastedInvoker; m_CallbackNoArgs = null; }