标题有点拗口难懂,用代码来说比较浅显,其实是要实现以下效果:
class Base
{
// 基类中定义一个虚方法 ExecuteNonQuery,用以执行一段 SQL 查询,并传递一个参数
public virtual int ExecuteNonQuery(string Query, DbParameter Parameter)
{
return 1;
}
}
class SqlServer : Base
{
// 子类中重写该方法,接受单个参数,参数可以是 SqlParameter 类型,因其继承自 DbParameter
public override int ExecuteNonQuery(string Query, DbParameter Parameter)
{
SqlCommand _SqlCommand = new SqlCommand();
_SqlCommand.Parameters.Add(Parameter);
return 100;
}
}
class main
{
static void Main()
{
Base _Base = new SqlServer();
SqlParameter _Param = new SqlParameter();
Console.WriteLine("ExecuteNonQuery: {0}", _Base.ExecuteNonQuery("", _Param));
/* 可以正确执行
* */
Console.ReadLine();
}
}