2012-06-16 117 views
1

我有一個這樣的接口:如何創建一個接口的實例(訪問接口)

namespace QuickRoutes.Model.Utilities 
{ 
    public interface IRoutesManager 
    { 
     bool ImportRoute(Stream inputStream, string fileName); 
     List<Route> GetAllRoutes(); 
     List<Route> GetAllRoutesForDate(DateTime from, DateTime to); 
     void DeleteRoute(string routeName); 
     void DeleteAllRoutes(); 

    } 
} 

,我要訪問從我的形式,即ImportRoute功能,但我不能訪問這個功能和發生這樣的錯誤: 不能創建抽象類或接口 我怎樣才能獲得這些功能的實例?

+2

我認爲你需要學習OOPS概念。 –

回答

3

你需要有定義的實際行爲接口的實施。接口本身只聲明成員 - 正如你所看到的那樣,那裏沒有代碼來說明做什麼。

Form可以創建一些實現的實例,或者給它 - 很可能IRoutesManager,這樣的形式本身並不需要關心它的使用哪一個實現。

1

你從來沒有創建的接口實例,接口都只是合同。你會做什麼是: -

public class MyRouteManager : IRoutesManager 
{ 
    bool ImportRoute(Stream inputStream, string fileName) 
    { code here etc etc } 
    List<Route> GetAllRoutes(); 
    List<Route> GetAllRoutesForDate(DateTime from, DateTime to); 
    void DeleteRoute(string routeName); 
    void DeleteAllRoutes(); 

} 

你coudl也改變了類接口,如果它的類,而不是你想要的類。

+0

是的你是對的約翰。 – Sunny