Pregunta

Estoy intentando implementar IUpdatable.

Error 1 'WebRole1.infomanager' no implementa el miembro de la interfaz 'system.data.services.iUpdatable.clearchanges ()' Todos los errores que recibo dicen que no estoy implementando todos los miembros de la interfaz, pero implementa algunos no todos de curso.No puse el código del agujero. Espero que puedas entenderlo.

  using System;
  using System.Collections.Generic;
  using System.Linq;
  using System.Web;
  using System.Data.Services;
  using Microsoft.WindowsAzure;
  using Microsoft.WindowsAzure.ServiceRuntime;
  using Microsoft.WindowsAzure.StorageClient;

  namespace WebRole1
  {
     public class InfoManager : IUpdatable
     {
      private TableServiceContext context;

    // To Generate DataConnectionString and svcClient
    private TableServiceContext GetContext()
    {
    //Implemented code
    }

    public CommentManager()
    {
        context = GetContext();
    }


    // To get my table infos
    public IQueryable<Info> Infos
    {
        get
        {
            return context.CreateQuery<Info>("Infos").AsTableServiceQuery();
        }
    }
   // Creating the resource and cheking the compatibility of the type and do an add Object 

    public Object CreateResource(string containerName, string fullTypeName)
    {
        //Implemented Code
    }

    // Return the instance of the resource represented by the object 
    public Object ResolveResource(Object resource)
    {
        return resource;
    }

    public void SaveChanges()
    {
        context.SaveChangesWithRetries();
    }

    public void setValue(Object targetResource, string propertyName, Object propertyValue)
    {
    //Implemented Code
    }

}

}

¿Fue útil?

Solución

Es una interfaz, por lo tanto DEBE implementar todos los miembros, lo desee o no.

Este error no desaparecerá hasta que implemente la interfaz en su totalidad.Puede hacer lo que quiera dentro del alcance del método que está implementando, digamos incluso plantear un NotImplementedException por ejemplo - pero que es su implementación para que el compilador esté contento.

No toleraré la ignorancia (aún deberías aprender el ¿Cómo? y por qué) pero le ofreceré un consejo que puede ayudarle en su aprendizaje y, al menos, en su productividad futura:

Desde Visual Studio, cuando tenga abierto el archivo de código de clase que implementará la interfaz, podrá hacer que VS escupe el código por usted...

class MyClass : IMyInterface // <- hover mouse and click the drop down that appears

En el menú desplegable deberías ver la opción. Implement Interface 'IMyInterface', haz clic en él y ¡listo!Generará automáticamente los cuerpos del método esquelético para usted.

Otros consejos

No entiendo cuál es la pregunta.Si implementa una interfaz, debe implementar todos los métodos en esa interfaz.De lo contrario, el compilador dará un error.

Creo que el error es claro: no está implementando todos los miembros de la interfaz, lo cual es obligatorio, por supuesto.

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