我有以下类:如何从基类派生并在C#中实现接口?
public class ContentService : IContentService
我想作一个BaseService类并实现一些常见的功能在那里。不过,我也想实现所有的IContentService方法。
我该如何修改这一行,使它既实现接口又从BaseService继承?
我有以下类:如何从基类派生并在C#中实现接口?
public class ContentService : IContentService
我想作一个BaseService类并实现一些常见的功能在那里。不过,我也想实现所有的IContentService方法。
我该如何修改这一行,使它既实现接口又从BaseService继承?
您可以从基类和接口继承您的类。在基类中实现接口为您提供了不实现所有接口方法的选项。如下例:
interface ITestInterface
{
void Test();
string Test2();
}
public class TestBase : ITestInterface
{
#region ITestInterface Members
public void Test()
{
System.Console.WriteLine("Feed");
}
public string Test2()
{
return "Feed";
}
#endregion
}
public class TestChild : TestBAse, ITestInterface
{
public void Test()
{
System.Console.WriteLine("Feed1");
}
}
public static void Main(){
TestChild f = new TestChild();
f.Test();
var i = f as ITestInterface;
i.Test();
i.Test2();//not implemented in child but called from base.
}
public class ContentService: BaseService, IContentService
{
}
您可以根据需要添加尽可能多的接口,并且最多可以添加一个基类到列表中。只需使用逗号分隔每个额外的界面。
基类不需要是列表中的第一个项目。
public class ContentService: BaseService, IContentService
将从BaseService继承和实现IContentService接口。
您可能还想查询基类的抽象类/方法。