Jag har två klasser. En BaseManager<T> och en UserManager som ärver av BaseManager.
public abstract class BaseManager<T>
{
public bool Create(List<SqlParameter> sqlParams, string sp)
{
int _rowsAffected;
using (SqlConnection cn = DataAccess.GetConnection())
{
using (SqlCommand cmd = new SqlCommand())
{
cmd.Connection = cn;
cmd.CommandText = sp;
cmd.CommandType = CommandType.StoredProcedure;
foreach (SqlParameter param in sqlParams)
cmd.Parameters.Add(param);
try
{
cn.Open();
_rowsAffected = cmd.ExecuteNonQuery();
}
catch (SqlException)
{
throw;
}
}
}
return (_rowsAffected == 1);
}
}
class UserManager : BaseManager<User>
{
public override bool Create(User item)
{
bool _done = false;
SqlParameter p0 = new SqlParameter("@username", SqlDbType.NChar);
p0.Value = item.Username;
SqlParameter p1 = new SqlParameter("@password", SqlDbType.Binary);
p1.Value = item.Password;
SqlParameter p2 = new SqlParameter("@email", SqlDbType.NChar);
p2.Value = item.Email;
SqlParameter p3 = new SqlParameter("@year_of_birth", SqlDbType.Int);
p3.Value = item.YearOfBirth;
SqlParameter p4 = new SqlParameter("@gender", SqlDbType.NChar);
p4.Value = item.Gender;
SqlParameter p5 = new SqlParameter("@country", SqlDbType.Int);
p5.Value = item.Country;
_done = base.Create(new List<SqlParameter>().Add(p0, p1, p2, p3, p4, p5), "sp_CreateUser");
return _done;
}
Men får bara felet: 'BL.UserManager.Create(BL.User)': cannot override inherited member 'BL.BaseManager<BL.User>.Create(BL.User)' because it is not marked virtual, abstract, or override.
Men det är väl precis den är? :q
Vad gör jag för fel?