3

我正在尝试实现 IUpdatable。

错误 1 ​​'WebRole1.InfoManager' 没有实现接口成员 'System.Data.Services.IUpdatable.ClearChanges()' 我得到的所有错误都是说我没有实现所有接口成员,但我当然实现了一些不是全部。我没有放坑代码希望大家能看懂。

  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
    }

}

}

4

3 回答 3

8

它是一个接口,因此您必须实现所有成员 - 无论您是否愿意。

在您完全实现接口之前,此错误不会消失。你可以在你正在实现的方法的范围内做你想做的事,甚至举个NotImplementedException例子——但那你的实现,所以编译器很高兴。

我不会宽恕无知(你仍然应该学习如何为什么),但我会提供一个提示,这可能有助于你的学习,如果没有其他的话,未来的生产力:

在 Visual Studio 中,当您打开用于实现接口的类代码文件时,您可以让 VS 为您吐出代码......

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

从下拉列表中,您应该会看到该选项Implement Interface 'IMyInterface',单击它并瞧!它将自动为您生成骨架方法体。

于 2011-03-18T14:42:51.180 回答
1

我不明白问题是什么。如果实现一个接口,则必须实现该接口中的所有方法。否则编译器会报错。

于 2011-03-18T14:42:17.717 回答
1

我认为错误很明显:您没有实现所有接口成员,这当然是必需的。

于 2011-03-18T14:43:19.063 回答