0

我想编写一个扩展 MembershipProvider 和 MembershipUser 功能的类。但我在这方面的知识可悲地缺乏。

我的 cs 文件看起来像这样:

namespace Mech
{
    public class Mechs : MembershipProvider
    {
        private static Database dbConn = DatabaseFactory.CreateDatabase("main");

        public override MembershipUser GetUser(string username, bool userIsOnline)
        {

        }
    }
}

在这一点上,它抱怨所有抽象成员都没有被实现。我真的不需要更改membershipProvider 的每个成员,只需要更改少数。那么这样做的正确方法是什么?

4

2 回答 2

1

查看codeguru 上的这篇文章。你只需要实现你将要使用的东西,你可以让其余的抛出 NotImplementedExceptions。此外,您可以扩展现有的提供者(例如SqlMembershipProvider)并覆盖ValidateUser或任何其他您想要的东西。

于 2012-08-14T03:35:33.817 回答
0

当您从抽象类继承时,您需要实现所有非抽象方法和属性。

你不一定要改变一切。您可以在实施后将它们保留原样。

您可以使用 VS 的智能功能来避免大量输入,并且父类有很多抽象成员和方法。

点击 MembershipProvide ,等待 Intellisences 显示如下图所示的提示:(或者按Alt+Shift+F10在此处输入图像描述

现在就是这样,您将让您的类实现所有抽象方法和属性。

在此处输入图像描述

那么当您尝试访问 Field1 时会发生什么:

StackOverflow stackOverFlow = new StackOverflow();
            String myString = stackOverFlow.Field1;

在此处输入图像描述

于 2012-08-14T06:19:23.707 回答