接口方法上的“修饰符 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"关键字,一切都会好起来的。
你编辑的IService.cs看起来不错。 您需要在服务中更改实现签名.cs以匹配您的接口:
public double GetClassAverage()
自
public double GetClassAverage(int anything)