C#修饰符'abstract'对此项无效

时间:2011-04-06 13:25:49

标签: c# .net interface abstract

我正在尝试构建另一个人的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);
    }
}

5 个答案:

答案 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)

不允许接口包含abstractvirtualpublicprotectedprivate,...等修饰符 解决方案:
只需删除它。

答案 3 :(得分:1)

在.NET和C#中,不支持接口中的成员修饰符。

如果你想要这样的东西你最好将它们转换为抽象类,但恕我直言这不是开发软件的好方法(重构代码而不考虑实际需求是什么)。

简单的解决方案:只需删除任何修饰符,保留任何类型的接口成员的类型,标识符和参数。

答案 4 :(得分:0)

确实无效。删除abstract关键字并重新编译。

相关问题