public com.robotraconteur.signal.SignalInfo ToRRInfo()
        {
            var info = new com.robotraconteur.signal.SignalInfo();

            CopyTo(info);
            return(info);
        }
 public void CopyTo(com.robotraconteur.signal.SignalInfo info)
 {
     info.signal_identifier = signal_identifier?.ToRRInfo();
     info.signal_class      = signal_class?.ToRRInfo();
     info.data_type         = data_type?.ToRRInfo();
     info.signal_type       = signal_type;
     info.access_level      = access_level;
     info.address           = address?.ToArray() ?? new uint[0];
     info.user_description  = user_description ?? "";
     info.min_value         = min_value ?? new double[0];
     info.max_value         = max_value ?? new double[0];
     info.extended          = extended?.ToDictionary(x => x.Key, x => x.Value?.value);
 }