我正在尝试构建另一个人的C#项目。 在很多接口中我得到错误:
The modifier 'abstract' is not valid for this item
在以下界面中:
namespace Services.Email
{
using System;
using System.Collections;
using.System.Collections.Generic;
using System.Runtime.CompilerServices;
public interface IEmailService
{
abstract event EventHandler<SendCompletedEventArgs> SendSummaryCompleted;
void SendNewsItem(DocumentNewsItem newsItem, string email);
void SendSummaryAsync(Session session, Advisor advisor);
}
}
答案 0 :(得分:16)
只需删除abstract
,它就不适用于接口。界面中的所有东西本质上都是“抽象的”。抽象类实际上在很多方面与具有未实现的必需接口的类相同。
答案 1 :(得分:3)
请参阅此MSDN文章:http://msdn.microsoft.com/en-us/library/aa664580%28v=vs.71%29.aspx
所有接口成员都隐式拥有公共访问权限。接口成员声明包含任何修饰符是编译时错误。特别是,不能使用abstract,public,protected,internal,private,virtual,override或static修饰符声明接口成员。
解决方案:删除“abstract”修饰符
答案 2 :(得分:1)
不允许接口包含abstract
,virtual
,public
,protected
,private
,...等修饰符
解决方案:
只需删除它。
答案 3 :(得分:1)
在.NET和C#中,不支持接口中的成员修饰符。
如果你想要这样的东西你最好将它们转换为抽象类,但恕我直言这不是开发软件的好方法(重构代码而不考虑实际需求是什么)。
简单的解决方案:只需删除任何修饰符,保留任何类型的接口成员的类型,标识符和参数。
答案 4 :(得分:0)
确实无效。删除abstract关键字并重新编译。