C# 如何创建接口实例(访问接口)
我有这样一个界面:C# 如何创建接口实例(访问接口),c#,C#,我有这样一个界面: namespace QuickRoutes.Model.Utilities { public interface IRoutesManager { bool ImportRoute(Stream inputStream, string fileName); List<Route> GetAllRoutes(); List<Route> GetAllRoutesForDate(DateTim
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();
}
}
我想从我的表单中访问I.e ImportRoute函数,但我无法访问此函数,出现如下错误:
无法创建抽象类或接口的实例
如何访问这些功能?您需要一个定义实际行为的接口实现。接口本身只声明成员——正如您所看到的,没有代码来说明要做什么
您的表单可以创建某个实现的实例,也可以将其作为IRoutesManager提供,这样表单本身就不需要关心它使用的是哪个实现。您需要一个定义实际行为的接口实现。接口本身只声明成员——正如您所看到的,没有代码来说明要做什么
您的表单可以创建某个实现的实例,也可以将其作为IRoutesManager提供,这样表单本身就不需要关心它使用的是哪个实现。您从不创建接口的实例,接口只是契约。你要做的是:-
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();
}
如果它是一个类,您还可以将单词interface改为class 您从不创建接口实例,接口只是契约。你要做的是:-
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();
}
如果它是一个类,您还可以将单词interface改为class 我认为你需要学习OOPS概念。我认为你需要学习OOPS概念。