【发布时间】:2010-11-11 01:41:03
【问题描述】:
作为 OOP 的新手,我正在尝试通过传递(需要的)子类参数来实现带有基本参数的接口方法。我有:
public interface IArticleDataAccess { int SaveArticle(NewsArticle thisArticle); }
public AnalysisDataAccess : IArticleDataAccess {
public int SaveArticle(AnalysisArticle thisArticle) {
// Specific save code that needs properties of AnalysisArticle not found in NewsArticle.
}
public class AnalysisArticle : NewsArticle {
IArticleDataAccess dataAccess = new ArchivedArticleDataAccess();
int Save() {
return dataAccess.SaveArticle(this);
}
}
错误是“ArchivedArticleDataAccess'没有实现接口成员'IArticleDataAccess.SaveArticle(NewsArticle)'”,因为参数类型不一样。
我犯了一个小错误还是错过了基本的 OOP 概念?有没有我可以使用的模式来做到这一点?铸造还是泛型?或者这是 C# 的限制(不支持逆变参数)?
【问题讨论】:
标签: c# class interface parameters