Pregunta

Por lo general obtener este error y (siempre) no sabe cómo resolverlo. Esta vez lo tengo también, parece que no voy a entender un concepto o falta algo Aquí está el código

        // 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

Por favor, un poco de ayuda y también algunas explicaciones de lo que está pasando Gracias

¿Fue útil?

Solución

He encontrado el problema, finalmente, Fue debido a mi servidor de seguridad parece estar bloqueando las conexiones con Visual Studio. Ahora funciona sin ningún cambio en absoluto :) Gracias por todo su apoyo

Otros consejos

Este error es un dolor, que básicamente significa que algunos vairable que está accediendo sigue siendo nulo.

En este caso, ¿dónde inicializar la línea de tiempo? En caso de que el código sea algo como:

Users users = core.GetTimeline().Friends;

OK, he estado buscando en la documentación twiteroo, que es un poco escaso, y creo que definitivamente hay que crear una instancia de la línea de tiempo para pasar a getTimeline, (que devuelve una colección de usuarios, no muy bien llamada EN MI HUMILDE OPINIÓN). Lo que no puedo entender es cómo iniciar una instancia de línea de tiempo.

OK, no es línea de tiempo que es nula, (que es una enumeración!) Así como bthb dice, sólo puede ser el núcleo, tal vez el nombre de usuario o contraseña son incorrectos, o no se puede conectar a twitter?

Podría ser núcleo, nombre de usuario, contraseña o Timeline.Friends, imposible saber que, por la información que nos has dado.

Si yo fuera tú me gustaría poner un punto de interrupción en la línea de que los errores, a continuación, se pegan un reloj en Timeline.Friends y comprobar que no es nula, si no es a continuación, poner un reloj en core.GetTimeline (Timeline.Friends) y ver si eso es devolver nulo.

Se le debe dar un empujón en la dirección correcta, es probable que tenga que leer la documentación de la API de Twitter que su uso de averiguar por qué ninguno de ellos está devolviendo un valor nulo.

¿Qué hay de la comprobación de su código como:

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 esto funciona sin excepciones uno de los objetos fue probablemente nula.

Hay dos frases específicas en el mensaje de error, referencia de objeto y instancia de un objeto . Estos conceptos son muy básicas cuando se trata de lenguajes de POO.

En primer lugar, un objeto de referencia puede ser pensado de una variable en una función o clase. Este término también se puede referir a parámetros de la función que esperan una referencia específica a un objeto. Inicialmente, el valor de una variable es NULL hasta que se establece en un valor usando el operador '='. Frecuencia con la que tendrá una declaración de variables y la operación '=' en el mismo comunicado.

El término instancia de un objeto se refiere a un objeto que ha sido creado usando el new sintaxis. Cuando se llama a new para inicializar un objeto, una ubicación de memoria no utilizada es asignada para almacenar una copia del objeto hasta que termine el programa, o el objeto sale del ámbito y es liberado por el recolector de basura. A la hora de la creación las propiedades del objeto se definen por el método constructor llamado para crear el objeto.

Considere este código:

Integer my_int;
my_int = new Integer(5);

En este ejemplo, 'my_int' es el referencia de objeto a un objeto Integer ejemplo se está creando.

Si se intenta acceder a 'my_int', antes de asignar una referencia a un Integer ejemplo , entonces tendría el error ", un referencia a un objeto (my_int) no establecida como instancia de un objeto (Integer)".

Si descompilar el archivo DLL se verá que getTimeline (Enum) realiza en un argumento de enumeración.

La llamada al constructor va a estar bien:

TwitterooCore core = new TwitterooCore(username, password);

Fuente:

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

getTimeline es se está intentando la conexión.

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);
}

Puede ser Timeline.Friends es nulo y puede ser la línea de tiempo es nula. Yo sugiero que busque en el seguimiento de pila de excepción y en la documentación de su marco twitter.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top