Прошу прощения, если я спрашиваю что-то глупое, но я полностью новичок в C# и ASP.NET. У меня ошибка в коде, и я не понимаю. Я работаю на Visual Studio 2008.Класс C# не реализует унаследованный абстрактный элемент
В этой строке кода:
public class SQLFAQProvider : DBFAQProvider
Я получаю эту ошибку:
Moby.Commerce.DataAccess.FAQ.SQLFAQProvider
does not implement inherited abstract memberMoby.Commerce.DataAccess.FAQDBFAQProvider.DeleteFAQbyID(int)
Когда я иду в DBFAQProvider
ошибка в этой строке кода:
public abstract DBFAQ DeleteFAQbyID(int fAQID);
Что я должен изменить, чтобы исправить ошибку?
Мне не имеет смысла, что для выполнения абстрактного элемента требуется ключевое слово переопределения. – DFTR
Имо ключевое слово 'override' справедливо требуется в конкретном классе, поскольку абстрактный элемент может быть дополнительно переопределен в классе, полученном из конкретного. В противном случае он выглядел бы как член производного класса, переопределяющий не виртуальный или не абстрактный элемент. Кроме того, CLR должна быть способна провести различие между реализацией абстрактного элемента и потенциальным новым членом, который скрывает абстрактный. Тогда возникает реальный вопрос: почему это не разрешено, то есть одновременно переопределять и скрывать элемент (будь то абстрактный или виртуальный), так как не будет никакой двусмысленности. – GDS