接口方法上的“修饰符 public 对此项无效”

本文关键字:public 无效 修饰符 方法 接口 | 更新日期: 2023-09-27 18:31:02

好的,所以我在从interfacce(显示数据的窗口表单)调用方法GetClassAverage()时遇到了问题。我也收到以下错误"修改符公共对这个项目无效"...这是我的 IService.cs 文件上的代码

[ServiceContract]
public interface IClassRollService
{
    [OperationContract]
    List<Student> GetStudentList(int semester);
    [OperationContract]    
    double GetClassAverage(int anything);
}

在我的服务中.cs我有

的文件
public double GetClassAverage()
{
    double sum = 0.0;
    double total;
    foreach (Student S in Students)
    {
        sum += S.Average;
    }
    return total = sum / Students.Count();
}

在我的窗口窗体上,我通过调用客户端来填写网格视图。GetStudentList() 但它不适用于 GetClassAverage()

我做错了什么或错过了什么?

[编辑] 已经取消了公众,但我仍然无法从 Windows 窗体调用该方法。有没有其他方法可以将该方法的返回值获取到窗口窗体中。这与Web服务有关,我知道的很多。

接口方法上的“修饰符 public 对此项无效”

在接口中,根据定义,所有方法都是公共的。这就是为什么它告诉你"公共"是无效的。只需从接口的方法定义中删除"public"关键字,一切都会好起来的。

你编辑的IService.cs看起来不错。 您需要在服务中更改实现签名.cs以匹配您的接口:

public double GetClassAverage()

public double GetClassAverage(int anything)