• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Dlaczego wywala mi błąd nullReferenceException

Object Storage Arubacloud
0 głosów
1,529 wizyt
pytanie zadane 14 czerwca 2019 w C# przez Michał_Warmuz Mądrala (5,830 p.)

Cześć ucze sie ASP.NET i mam problem bo chce wyswitlic oraz ddoac produkty do bazy ale kompilator wywala mi błąd ze System.NullReferenceException: „Odwołanie do obiektu nie zostało ustawione na wystąpienie obiektu.”

mój kod:

    public class HomeController : Controller
    {
        public HomeController()
        {

        }
        private IProductService _ctx;

        public HomeController(IProductService ctx)
        {
           this._ctx = ctx;
        }


        public ActionResult Index()
        {
            var products = _ctx.GetAllProducts();
            return View(products);
        }
    public interface IProductService
    {
        void AddProduct(Product product);
        List<Product> GetAllProducts();
    }
public class ProductService : IProductService
    {
        private WebDbContext _ctx;

        public ProductService(WebDbContext ctx)
        {
            _ctx = ctx;
        }

        public  void AddProduct(Product product)
        {
         
                _ctx.Products.Add(product);
                _ctx.SaveChanges();


        }

        public List<Product> GetAllProducts()
        {

                var r = _ctx.Products.ToList();
                return r;
           
        }

 

komentarz 14 czerwca 2019 przez NowyUrzydgownig Mądrala (5,090 p.)
Oznacza to, że w swoim kodzie wywołujesz jakąś operacje na typie null.
komentarz 14 czerwca 2019 przez Michał_Warmuz Mądrala (5,830 p.)
Niby tutaj ale dlaczego ?

var products = _ctx.GetAllProducts(); w bazie mam dane
komentarz 14 czerwca 2019 przez NowyUrzydgownig Mądrala (5,090 p.)
Najłatwiej jest zdebugować program i sprawdzić co dokładnie jest nullem i dlaczego.

1 odpowiedź

0 głosów
odpowiedź 14 czerwca 2019 przez p099 Mądrala (6,390 p.)
Ten kod nie mówi za wiele, ale wygląda na to że próbujesz odwołać się do obiektu przed inicjalizacją "czegoś" czego tutaj nie ma i nie można normalnie pomóc. Przez to że nie można odwołać się do obiektu przed inicjalizacją występuje null co uniemożliwia poprawne działanie kodu, tak więc to wszystko istnieje ale dla kompilatora jest to niewiadoma.

Dodaj jeszcze sprawdzanie czy występuje null, jeżeli wystąpi błąd możesz to normalnie odkryć :)

Podobne pytania

0 głosów
1 odpowiedź 95 wizyt
pytanie zadane 22 listopada 2020 w C i C++ przez tonn204 Mądrala (7,440 p.)
0 głosów
3 odpowiedzi 1,933 wizyt
pytanie zadane 12 sierpnia 2018 w Java przez must Bywalec (2,980 p.)
0 głosów
2 odpowiedzi 273 wizyt
pytanie zadane 23 maja 2017 w C i C++ przez Philip Bywalec (2,320 p.)

92,621 zapytań

141,477 odpowiedzi

319,817 komentarzy

62,005 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...