public Thread(ThreadCallbackFunction threadCallbackFunction, object userDefinedObject)
 {
     m_cThread = _ciThread.Invoke(new object[] { ConvertToCrestronThreadCallbackFunction(threadCallbackFunction), userDefinedObject });
 }
 public Thread(ThreadCallbackFunction threadCallbackFunction, object userDefinedObject, eThreadStartOptions threadStartOption)
 {
     m_cThread = _ciThreadWithOption.Invoke(new object[] { ConvertToCrestronThreadCallbackFunction(threadCallbackFunction), userDefinedObject, ConvertToCrestronThreadStartOption(threadStartOption) });
 }
 private static object ConvertToCrestronThreadCallbackFunction(ThreadCallbackFunction func)
 {
     return(CDelegate.CreateDelegate(_ctypeThreadCallbackFunction, func.Target, func.GetMethod()));
 }