模糊编译错误-';不执行';和';无法覆盖..没有可重写的访问器';

本文关键字:覆盖 可重写 访问 错误 编译 模糊 执行 | 更新日期: 2023-09-27 18:28:28

我现在正在编写我的第一个MVC应用程序,并正在创建一个新的MembershipProvider,但在这个过程中遇到了一些完全错误的编译错误。这是我的代码:

public class ProfileProvider : MembershipProvider
{
    protected NameValueCollection Config = null;
    protected new String Name = null;
    protected String _PasswordStrengthRegularExpression = "";
    protected int _MinRequiredNonAlphanumericCharacters = 0;
    protected int _MinRequiredPasswordLength = 0;
    protected String _PasswordFormat = "";
    protected Boolean _RequiresUniqueEmail = false;
    protected int _PasswordAttemptWindow = 0;
    protected int _MaxInvalidPasswordAttempts = 0;
    protected String _ApplicationName = "";
    protected Boolean _RequiresQuestionAndAnswer = false;
    protected Boolean _EnabledPasswordReset = false;
    protected Boolean _EnablePasswordRetrieval = false;
    protected override String PasswordStrengthRegularExpression
    {
        get
        {
            return this._PasswordStrengthRegularExpression;
        }
        set
        {
            this._PasswordStrengthRegularExpression = value;
        }
    }
    public override int MinRequiredNonAlphanumericCharacters
    {
        get
        {
            return this._MinRequiredNonAlphanumericCharacters;
        }
        set
        {
            this._MinRequiredNonAlphanumericCharacters = value;
        }
    }
    public override int MinRequiredPasswordLength
    {
        get
        {
            return _MinRequiredPasswordLength;
        }
        set
        {
            this._MinRequiredPasswordLength = value;
        }
    }
    public override String PasswordFormat
    {
        get
        {
            return this._PasswordFormat;
        }
        set
        {
            this._PasswordFormat = value;
        }
    }
    public override Boolean RequiresUniqueEmail
    {
        get
        {
            return _RequiresUniqueEmail;
        }
        set
        {
            this._RequiresUniqueEmail = value;
        }
    }
    public override int PasswordAttemptWindow
    {
        get
        {
            return this._PasswordAttemptWindow;
        }
        set
        {
            this._PasswordAttemptWindow = value;
        }
    }
    public override int MaxInvalidPasswordAttempts
    {
        get
        {
            return this._MaxInvalidPasswordAttempts;
        }
        set
        {
            this._MaxInvalidPasswordAttempts = value;
        }
    }
    public override String ApplicationName
    {
        get
        {
            return this._ApplicationName;
        }
        set
        {
            this._ApplicationName = value;
        }
    }
    public override Boolean RequiresQuestionAndAnswer
    {
        get
        {
            return this._RequiresQuestionAndAnswer;
        }
        set
        {
            this._RequiresQuestionAndAnswer = value;
        }
    }
    public override Boolean EnablePasswordReset
    {
        get
        {
            return this._EnabledPasswordReset;
        }
        set
        {
            this._EnabledPasswordReset = value;
        }
    }
    public override Boolean EnablePasswordRetrieval
    {
        get
        {
            return this._EnablePasswordRetrieval;
        }
        set
        {
            this._EnablePasswordRetrieval = value;
        }
    }

以下是我的编译错误:

Error   7   'EmptyMVC.Controllers.ProfileProvider.RequiresUniqueEmail.set': cannot override because 'System.Web.Security.MembershipProvider.RequiresUniqueEmail' does not have an overridable set accessor  C:'Users'DigitalJedi'documents'visual studio 2010'Projects'EmptyMVC'EmptyMVC'Controllers'ProfileController.cs   78  13  EmptyMVC
Error   10  'EmptyMVC.Controllers.ProfileProvider.RequiresQuestionAndAnswer.set': cannot override because 'System.Web.Security.MembershipProvider.RequiresQuestionAndAnswer' does not have an overridable set accessor  C:'Users'DigitalJedi'documents'visual studio 2010'Projects'EmptyMVC'EmptyMVC'Controllers'ProfileController.cs   122 13  EmptyMVC
Error   3   'EmptyMVC.Controllers.ProfileProvider.PasswordStrengthRegularExpression': cannot change access modifiers when overriding 'public' inherited member 'System.Web.Security.MembershipProvider.PasswordStrengthRegularExpression'   C:'Users'DigitalJedi'documents'visual studio 2010'Projects'EmptyMVC'EmptyMVC'Controllers'ProfileController.cs   28  35  EmptyMVC
Error   6   'EmptyMVC.Controllers.ProfileProvider.PasswordFormat': type must be 'System.Web.Security.MembershipPasswordFormat' to match overridden member 'System.Web.Security.MembershipProvider.PasswordFormat'   C:'Users'DigitalJedi'documents'visual studio 2010'Projects'EmptyMVC'EmptyMVC'Controllers'ProfileController.cs   61  32  EmptyMVC
Error   8   'EmptyMVC.Controllers.ProfileProvider.PasswordAttemptWindow.set': cannot override because 'System.Web.Security.MembershipProvider.PasswordAttemptWindow' does not have an overridable set accessor  C:'Users'DigitalJedi'documents'visual studio 2010'Projects'EmptyMVC'EmptyMVC'Controllers'ProfileController.cs   89  13  EmptyMVC
Error   5   'EmptyMVC.Controllers.ProfileProvider.MinRequiredPasswordLength.set': cannot override because 'System.Web.Security.MembershipProvider.MinRequiredPasswordLength' does not have an overridable set accessor  C:'Users'DigitalJedi'documents'visual studio 2010'Projects'EmptyMVC'EmptyMVC'Controllers'ProfileController.cs   56  13  EmptyMVC
Error   4   'EmptyMVC.Controllers.ProfileProvider.MinRequiredNonAlphanumericCharacters.set': cannot override because 'System.Web.Security.MembershipProvider.MinRequiredNonAlphanumericCharacters' does not have an overridable set accessor    C:'Users'DigitalJedi'documents'visual studio 2010'Projects'EmptyMVC'EmptyMVC'Controllers'ProfileController.cs   45  13  EmptyMVC
Error   9   'EmptyMVC.Controllers.ProfileProvider.MaxInvalidPasswordAttempts.set': cannot override because 'System.Web.Security.MembershipProvider.MaxInvalidPasswordAttempts' does not have an overridable set accessor    C:'Users'DigitalJedi'documents'visual studio 2010'Projects'EmptyMVC'EmptyMVC'Controllers'ProfileController.cs   100 13  EmptyMVC
Error   12  'EmptyMVC.Controllers.ProfileProvider.EnablePasswordRetrieval.set': cannot override because 'System.Web.Security.MembershipProvider.EnablePasswordRetrieval' does not have an overridable set accessor  C:'Users'DigitalJedi'documents'visual studio 2010'Projects'EmptyMVC'EmptyMVC'Controllers'ProfileController.cs   144 13  EmptyMVC
Error   11  'EmptyMVC.Controllers.ProfileProvider.EnablePasswordReset.set': cannot override because 'System.Web.Security.MembershipProvider.EnablePasswordReset' does not have an overridable set accessor  C:'Users'DigitalJedi'documents'visual studio 2010'Projects'EmptyMVC'EmptyMVC'Controllers'ProfileController.cs   133 13  EmptyMVC
Error   1   'EmptyMVC.Controllers.ProfileProvider' does not implement inherited abstract member 'System.Web.Security.MembershipProvider.PasswordStrengthRegularExpression.get'  C:'Users'DigitalJedi'documents'visual studio 2010'Projects'EmptyMVC'EmptyMVC'Controllers'ProfileController.cs   12  18  EmptyMVC
Error   2   'EmptyMVC.Controllers.ProfileProvider' does not implement inherited abstract member 'System.Web.Security.MembershipProvider.PasswordFormat.get' C:'Users'DigitalJedi'documents'visual studio 2010'Projects'EmptyMVC'EmptyMVC'Controllers'ProfileController.cs   12  18  EmptyMVC

我在这方面做了几次尝试,我尝试使用"new"关键字而不是覆盖,但似乎什么都不起作用。

模糊编译错误-';不执行';和';无法覆盖..没有可重写的访问器';

在抽象基类上重写的属性没有Setter。

从这个问题的答案来看,你似乎不能随心所欲。