Question

Je reçois habituellement cette erreur et (toujours) ne savent pas comment résoudre. Cette fois, je l'ai eu, il semble aussi que je ne comprends pas un concept ou manque quelque chose Voici le code

        // create a new twitteroo core with provided username/password
        TwitterooCore core = new TwitterooCore(username, password);

        // request friends timeline from twitter
        Users users = core.GetTimeline(Timeline.Friends); // error here

aide et aussi quelques explications sur ce qui se passe Merci

Était-ce utile?

La solution

J'ai trouvé le problème enfin Il était à cause de mon pare-feu semble bloquer les connexions à Visual Studio. Maintenant, il fonctionne avec aucun changement du tout :) Merci pour votre soutien

Autres conseils

Cette erreur est une douleur, cela signifie essentiellement certains vairable vous accédez est toujours nul.

Dans ce cas, où vous initialisez Timeline? Si votre code soit quelque chose comme:

Users users = core.GetTimeline().Friends;

OK, je l'ai regardé la documentation twiteroo, ce qui est un peu clairsemée, et je pense que vous avez certainement besoin d'instancier une instance de Timeline pour passer dans getTimeline, (qui renvoie une collection d'utilisateurs, pas très bien son nom A MON HUMBLE AVIS). Ce que je ne peux pas comprendre la manière d'amorcer une instance de Timeline.

OK, ce n'est pas Timeline qui est nulle, (c'est un Enum!) Donc, comme le dit bthb, il ne peut être le cœur, peut-être le nom d'utilisateur ou mot de passe sont faux, ou il ne peut pas se connecter à Twitter?

Il pourrait être noyau, nom d'utilisateur, mot de passe ou Timeline.Friends, impossible de savoir qui, par les informations que vous nous avez donné.

Si je vous je mettrais un point d'arrêt sur la ligne que les erreurs, puis coller une montre sur Timeline.Friends et vérifier sa non nulle, si elle ne puis mettre une montre sur core.GetTimeline (Timeline.Friends) et voir si c'est de retour nul.

Il devrait vous donner un coup de pouce dans la bonne direction, vous aurez probablement de lire la documentation de l'API Twitter en utilisant votre savoir pourquoi l'un de ces est de retour nulle.

Que diriez-vous de vérifier votre code comme:

Users users = null;
if (Timeline != null)
{
    TwitterooCore core = new TwitterooCore(username, password);
    if (core != null)
    {
        var friends = Timeline.Friends
        if (friends != null)
            users = core.GetTimeline(Timeline.Friends);
    }
}

Si cela va sans exception l'un des objets est probablement nulle.

Il y a deux phrases spécifiques dans le message d'erreur, Référence objet et instance d'un objet . Ces concepts sont très simples lorsqu'ils traitent avec les langues POO.

D'abord, un objet peut être considéré référence d'une variable dans une fonction ou une classe. Ce terme peut également se référer à des paramètres de fonction qui attendent une référence spécifique à un objet. Dans un premier temps la valeur d'une variable est NULL jusqu'à ce qu'il soit réglé sur une valeur en utilisant l'opérateur « = ». Fréquemment, vous aurez une déclaration variable et l'opération « = » dans la même instruction.

Le terme instance d'un objet fait référence à un objet qui a été créé en utilisant la syntaxe new. Lorsque vous appelez new pour initialiser un objet, un emplacement de mémoire inutilisée est allouée pour stocker une copie de l'objet jusqu'à ce que la fin du programme, ou l'objet est hors de portée et est libéré par le collecteur des ordures. Au moment de la création des propriétés d'objet sont définies par la méthode constructeur appelé pour créer l'objet.

Considérez ce code:

Integer my_int;
my_int = new Integer(5);

Dans cet exemple, 'my_int' est l'objet référence à un objet Integer instance en cours de création.

Si vous essayez d'accéder 'my_int', avant de l'assigner une référence à un Integer instance , vous auriez alors l'erreur, « référence d'objet (my_int) non définie à une instance d'un objet (Integer) ».

Si vous décompiliez dll vous verrez que getTimeline (Enum) prend un argument Enumeration.

L'appel Constructor sera bien:

TwitterooCore core = new TwitterooCore(username, password);

Source:

public TwitterooCore(string username, string password)
{
        this._username = username;
        this._password = password;
}

getTimeline est été la tentative de connexion.

public Users GetTimeline(Timeline timeline)
{
    WebClient client = new WebClient();
    XmlDocument document = new XmlDocument();
    string xml = string.Empty;
    byte[] buffer = null;
    client.set_Credentials(this.GetCredentials());
    buffer = client.DownloadData(this.GetTimelineUrl(timeline));
    xml = Encoding.UTF8.GetString(buffer);
    document.LoadXml(xml);
    return this.DecodeStatusXml(document);
}

Peut être Timeline.Friends est nulle et peut être Timeline est nulle. Je vous suggère de regarder la trace de la pile d'exception et dans la documentation de votre cadre de twitter.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top