none
Problemas con case RRS feed

  • Pregunta

  • ola a todos/as quería preguntaros como podría aplicar un bucle en case, me explico

    Tengo 150 case que cada case es un comando a ejecutar por un tópicmqtt

    Y me gustaría anular los case y ejecutarlo de otra manera ya que parece estar limitado ,pues  al 151 case ya no me responde 

    jueves, 6 de septiembre de 2018 12:56

Respuestas

  • Hola a todos/as quería preguntaros como podría aplicar un bucle en case, me explico

    Tengo 150 case que cada case es un comando a ejecutar por un tópicmqtt

    Y me gustaría anular los case y ejecutarlo de otra manera ya que parece estar limitado ,pues  al 151 case ya no me responde 


    jueves, 6 de septiembre de 2018 12:56
  • buenas tardes  perdón  porque me he expresado mal ,estoy utilizando Cortana commands-master  para la domotica de casa y en el panel de salida vb sale esto

    Información de WinRT: There are too many 'Command' elements. You can have a maximum of 100 'Command' elements per 'CommandSet'. Error was found at Line: 615 Position: 6
    There was an error registering the Voice Command Definitions
    --------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    Información de WinRT: Hay demasiados elementos 'Command'. Puede tener un máximo de 100 elementos 'Command' por 'CommandSet'. Se encontró un error en la línea: 615 Posición: 6
    Hubo un error al registrar las Definiciones de comandos de voz

    .................................................................................................

    parece ser que viene limitada para 100 comandos .¿habria forma de quitarle el limite o ponerlo mayor? gracias

    jueves, 6 de septiembre de 2018 18:40

Todas las respuestas

  • Hola a todos/as quería preguntaros como podría aplicar un bucle en case, me explico

    Tengo 150 case que cada case es un comando a ejecutar por un tópicmqtt

    Y me gustaría anular los case y ejecutarlo de otra manera ya que parece estar limitado ,pues  al 151 case ya no me responde 


    jueves, 6 de septiembre de 2018 12:56
  • Hola Problema con case:

    Me parece extraño ese límite, no obstante, puedes hacer un if … else if….else if…..

    https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/if-else

    Un saludo

    jueves, 6 de septiembre de 2018 12:59
  • Podrias construir una coleccion de delegados que contenga todas las acciones a realizar, y luego sustituir el case por una indexacion contra la coleccion. Tiene varias ventajas: no hay limite de numero de casos, puedes agregar casos dinamicamente, puedes agregarlos con un bucle, puedes refactorizar el codigo para que los casos se agreguen a la tabla desde uno o varios lugares (en lugar de tenerlos todos en un gran bloque de codigo en el case), etc.

    Si necesitas un ejemplo, ponnos aqui una muestra del codigo que tienes (resumido -- no nos pongas los 150 casos completos) y te mostramos como convertirla en delegados.

    jueves, 6 de septiembre de 2018 13:29
  • buenas tardes  perdón  porque me he expresado mal ,estoy utilizando Cortana commands-master  para la domotica de casa y en el panel de salida vb sale esto

    Información de WinRT: There are too many 'Command' elements. You can have a maximum of 100 'Command' elements per 'CommandSet'. Error was found at Line: 615 Position: 6
    There was an error registering the Voice Command Definitions
    --------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    Información de WinRT: Hay demasiados elementos 'Command'. Puede tener un máximo de 100 elementos 'Command' por 'CommandSet'. Se encontró un error en la línea: 615 Posición: 6
    Hubo un error al registrar las Definiciones de comandos de voz

    .................................................................................................

    parece ser que viene limitada para 100 comandos .¿habria forma de quitarle el limite o ponerlo mayor? gracias

    jueves, 6 de septiembre de 2018 18:40
  • Ah, es que al poner la pregunta de Visual Studio y hablar de los "case" daba la impresión de que se trataba de un switch...case de C# o un Case de VB.

    Me temo que en este foro no vas a encontrar muchos participantes que conozcan el tema de Cortana; al menos a juzgar por las preguntas que se han visto hasta el momento no parece que haya por aquí muchos desarrolladores que trabajen sobre ese tema. Tal vez te convenga preguntar en algún otro foro más afín. O en todo caso, volver a plantear la pregunta poniéndole un título más explícito y representativo de la herramienta sobre la que trabajas, para que se fije en ella quien trabaje sobre ese tema.

    jueves, 6 de septiembre de 2018 19:04
  • gracias por la respuesta  el titulo  es por que yo creia que estaba limitado case pero no es asi  de todas formas gracias
    jueves, 6 de septiembre de 2018 19:35