Condividi tramite


Convert.ChangeType - hvis du ikke kan lide typen!

Mine weekender plejer at være lukket land for arbejde, computer og teknologi bøger. Med andre ord - der skal slappes af når jeg har fri! Det er dog svært når at lade være med at kode, da jeg ikke får lov til det på arbejdet (der er ikke tid!). Jeg sniger mig simpelthen ind i Visual Studio, enten tidligt om morgenen eller sent om aftenen, får et lille smil på læben og danser så lægger det så fra mig igen efter et par timer. Sådan er det - lige nu ihvertfald.

Når jeg så endelig har lidt tid til at kode, så er det ActiveDeveloper der står for tur, og vi er jo ved at lave den om til .NET, og det er et hyggeligt projekt - du ved, data ind, data ud..bla bla bla!

Jeg skulle lave en generisk QueryString hjælpe metode (Helper/Util klasse...hehe). Den skulle være sat op sådan, at man meget simpelt, giver metoden det nøgle navn (profile.aspx?name=daniel) til den querysting man er på udgik efter og returnere værdien af nøglen (daniel).

Jeg kendte imidlertidigt ikke pågældende funktion, men den har vist sit værd og nu synes jeg den skal bruges overalt :0)

I får lige VB.NET udgaven først, så ved jeg en vist hr. Jokumsen bliver glad for mig.

Public Class QueryStrings(Of T)

    Public Shared Function GetQueryStringValue(ByVal key As String) As T
        Dim value As T = Nothing
        If HttpContext.Current.Request.QueryString(key) IsNot Nothing Then
            value = DirectCast(Convert.ChangeType(HttpContext.Current.Request.QueryString(key), GetType(T)), T)
        End If

        Return value
    End Function
End Class

---

Og C# udgaven.

public static class QueryStrings<T>
{
    public static T GetQueryStringValue(string key)
    {
        T value = default(T);
        if ( HttpContext.Current.Request.QueryString[ key ] != null ) {
            value = (T)Convert.ChangeType(HttpContext.Current.Request.QueryString[ key ], typeof(T));
        }

        return value;
    }
}

---

Keep codin'