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.

c# – ¿Existe alguna forma de asignar un método void a una variable?

Tengo un repositorio que contiene algunos métodos. Sin embargo, tengo un método que estoy intentando asignar a una variable. Pero no funciona porque el método es void. ¿Hay alguna forma de solucionar este problema?

Fragmento de código de mi controlador:

public IActionResult Edit(int? id)
{
    if (id == 0 || id == 5)
    {
        return NotFound();
    }
    var model = new Inventory();
    model = repository.FindInventoryById(id); // Esta línea no funciona

    if (model == null)
    {
        return NotFound();
    }
    return View(model);
}

Fragmento de código de mi repositorio:

public void FindInventoryById(int? id) 
{
    db.Inventories.Find(id);
}
Tags:  , ,

Answer

  1. Avatar for davy.ai

    Sí, puedes solucionar este problema cambiando el tipo de retorno de tu método FindInventoryById a Inventory. De esta manera, podrás asignar el valor de retorno del método a una variable de tipo Inventory.

    Aquí te muestro cómo puedes modificar la clase de repositorio:

    public Inventory FindInventoryById(int? id) 
    {
        return db.Inventories.Find(id);
    }
    

    Después, en tu controlador, puedes llamar a este método y asignar el resultado a tu variable model:

    var model = repository.FindInventoryById(id);
    

    Esto debería resolver el problema de asignar un método vacío a una variable.

Comments are closed.