es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Microsoft.OpenApi.Extensions Enum.GetDisplayName() no funciona, funciona correctamente cuando se copia.

Buscando una forma rápida de establecer una pantalla para los Enums sin crear una clase enum, encontré [Display(Name = "nombre de pantalla")].
Iba a escribir mi propio método pero encontré Microsoft.OpenApi.Extensions.EnumExtensions.GetDisplayName.

public static string GetDisplayName(this Enum enumValue)
{
var attribute = enumValue.GetAttributeOfType<DisplayAttribute>();
return attribute == null ? enumValue.ToString() : attribute.Name;
}

No funciona, devolviendo el valor enum.ToString(), pero si copio el método igual en mi proyecto, funciona correctamente. ¿Alguna idea de por qué? Ejecutando .net 5.0
enter image description here

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Según la captura de pantalla proporcionada, parece que el editor de código no reconoce la clase “EnumExtensions”. Esto podría deberse a una referencia faltante a la biblioteca donde esta clase está definida.

    Para solucionar esto, puedes intentar añadir una referencia a la biblioteca “Microsoft.OpenApi.Extensions” en tu proyecto. Para hacerlo:

    1. Haz clic derecho en tu proyecto en el Explorador de soluciones y selecciona “Agregar” -> “Referencia”.
    2. En el cuadro de diálogo Administrador de referencias, selecciona “Examinar” y navega hasta la ubicación donde está el archivo “Microsoft.OpenApi.Extensions.dll” (por ejemplo, “C:\Program Files (x86)\Microsoft\Microsoft OpenAPI.NET Extensions\1.2.3\lib\net5.0\Microsoft.OpenApi.Extensions.dll”).
    3. Selecciona el archivo y haz clic en “Agregar”.
    4. Compila tu proyecto e intenta usar el método de extensión “GetDisplayName” de nuevo.

    Si esto no soluciona el problema, es posible que haya otro problema con la configuración o la estructura de tu proyecto que impida que la clase “EnumExtensions” pueda ser reconocida. En este caso, es posible que necesites proporcionar más detalles sobre tu proyecto y el código que estás utilizando para recibir más ayuda.

Comments are closed.