KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
Scenario: I am using ASP.NET MVC 3 and C#. I have a lot of services that all have an Init() method. So, I thought, inheritance is my new best friend. I have tried to inherit interfaces from other interfaces. However, I am running into problems. What I have done: As I understand it, one interface can inherit from another interface. i.e, you can do this: public interface ICaseService : IBaseService { CaseViewModel ViewModel { get; } Case Case { get; set; } } Where: public interface IBaseService { void Init(); } So when I derive CaseService from ICaseService I will have to implement the Init() method as well as the Case property and the ViewModel property. The Problem: Lets say I now have a controller that has a reference to ICaseService: private readonly ICaseService service; In my actions, I reckon I should be able to do: public virtual ActionResult MyAction() { service.Init(); } But I get an error message stating that ICaseService 'does not contain a definition for' Init() . Questions: Why? Do I have to forget about inheriting interfaces from interfaces and just type out in each interface definition the Init() method? Note: The above is a simplified scenario. My "base" interface contains many more definitions than just Init().
Tags (comma-separated)
Save Edits
Cancel