---
title: "System.NullReferenceEx ifrån XmlAttribute"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/154290-system-nullreferenceex-ifrån-xmlattribute"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "Travoni"
published: "2006-11-28T11:01:41.000Z"
updated: "2006-12-01T12:34:01.000Z"
replies: 6
views: 414
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/dotnet/154290-system-nullreferenceex-ifrån-xmlattribute"
---

# System.NullReferenceEx ifrån XmlAttribute

## #1 — Travoni, 2006-11-28T11:01Z

Jag får NullReferenceException på den rödmarkerade raden, hur undviker jag det?

```
Dim attribPostBack As XmlAttribute = menuItem.Attributes("postback")
Dim postBack As Boolean
     Try
          [red]postBack = IIf(Not (attribPostBack Is Nothing), Boolean.Parse(attribPostBack.Value), False)[/red]
     ....
```

I XML-filen så ser det ut så här:

```
<item postback="True">
</item>
eller
så här
<item>
</item>
```

Alltså saknas postback så skall värdet sättas till False

Permalänk: https://www.webforum.nu/p/154290

## #2 — Crypth, 2006-11-30T22:40Z

Det verkar som om attribPostBack inte initialiseras om xmlattributet inte har något värde, vilket ger en nullpekare. Jag kan naturligtvis ha fel och jag är ingen fena på VB, men vad händer om du initialiserar attribPostBack med nothing först, för att efter det försöka tilldela den menuItem.Attributes("postback") ?

Permalänk: https://www.webforum.nu/p/1903634

## #3 — Travoni, 2006-12-01T08:37Z

Ok, detta ger samma fel:

```
Dim attribPostBack As XmlAttribute = Nothing
attribPostBack = menuItem.Attributes("postback")
```

Permalänk: https://www.webforum.nu/p/1903670

## #4 — Crypth, 2006-12-01T09:15Z

Uff, det innebär troligen att den refererar till menuItem.Attributes("postback") inte till din variabel. 

```
If menuItem.Attributes("postback") Is Nothing Then
...
```

funkar inte bättre?

Skjuter lite från höften här, har inte riktigt tid att testa...

Permalänk: https://www.webforum.nu/p/1903678

## #5 — Travoni, 2006-12-01T09:36Z

mmm, detta funkar:

```
If menuItem.Attributes("postback") Is Nothing Then
    postBack = False
Else
    postBack = Boolean.Parse(attribPostBack.Value)
End If
```

Men inte detta: 

```
postBack = IIf(menuItem.Attributes("postback") Is Nothing, False, Boolean.Parse(attribPostBack.Value))
```

Av någon märklig anledning.

Permalänk: https://www.webforum.nu/p/1903683

## #6 — Crypth, 2006-12-01T12:24Z

Det kan tänkas att nyckelordet IIf tilldelar en lokal variabel värdet av menuItem.Attributes("postback") för jämförelsen, men det verkar skumt... är du väldigt intresserad kan du ju kolla vad du får ut av kompilatorn i intermediate language ;)

Jag antar att "x = IIf( jmfr, true, false)" funkar som C# "x = jmfr ? true : false;" ?

Permalänk: https://www.webforum.nu/p/1903728

## #7 — emission, 2006-12-01T12:34Z

In en IIf evalueras alla parametrar innan villkorsuttrycket, så man kan inte använda det på detta sätt.

Permalänk: https://www.webforum.nu/p/1903731

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/154290-system-nullreferenceex-ifrån-xmlattribute
