2 Stimmen

Windows Phone 7 UserExtendedProperties

Nachdem ich hierher verwiesen wurde: http://msdn.microsoft.com/en-us/library/microsoft.phone.info.userextendedproperties.getvalue%28v=VS.92%29.aspx

Ich habe den folgenden Code in meiner Sideloaded-Anwendung ausprobiert. Alles, was herausgeschrieben wurde, war die 000001 Wert.

Ich wusste, dass dies im Emulator der Fall sein würde. aber ich hatte gehofft, einen echten Wert zu erhalten, wenn es auf meinem Telefon war. Irgendwelche Ideen?

                 int ANIDLength = 32;  
                 int ANIDOffset = 2;

                 string result = string.Empty;  
                 object anid;  
                 if (UserExtendedProperties.TryGetValue("ANID", out anid))  
                 {
                     if (anid != null && anid.ToString().Length >= (ANIDLength + ANIDOffset))
                     {
                         result = anid.ToString().Substring(ANIDOffset, ANIDLength);
                     }
                     else
                     {
                         result = "000001";
                     } 
                 }

6voto

Matt Lacey Punkte 64983

Sie müssen 1 aus der Berechnung Ihrer Längenprüfung entfernen, um zu berücksichtigen, dass die Teilstring-Operation auf einem nullbasierten Index arbeitet:

 if (anid != null && anid.ToString().Length >= (ANIDLength + ANIDOffset - 1))

Das funktioniert auf meinem Rechner:

private string GetAnid()
{
    object anidValue;

    int ANIDLength = 32;
    int ANIDOffset = 2;

    if (UserExtendedProperties.TryGetValue("ANID", out anidValue))
    {
        if (anidValue != null && anidValue.ToString().Length >= (ANIDLength + ANIDOffset - 1))
        {
            return anidValue.ToString().Substring(ANIDOffset, ANIDLength);
        }
        else
        {
            return "???";
        }
    }
    else
    {
        return "???";
    }
}

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X