我想编写一个扩展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的每一个成员,只需要少数几个。那么这样做的正确方法是什么?
答案 0 :(得分:1)
看看this article at codeguru。您只需要实现您将要使用的内容,然后您可以将其余内容抛给NotImplementedExceptions。此外,您可以扩展现有提供商(例如SqlMembershipProvider
)并覆盖ValidateUser
或您心中所需的任何其他内容。
答案 1 :(得分:0)
当您从一个抽象类继承时,您需要实现所有非抽象方法和比例。
你不一定要改变一切。您可以在实施后将它们保留为它。
您可以使用VS智能功能来避免大量输入,父类有很多抽象的成员和方法。
单击MembershipProvide,等待Intellisences向您显示提示,如下图所示: (或者按 Alt + Shift + F10 )
现在就是这样,你将让你的类实现所有的抽象方法和比例。
那么当您尝试访问Field1时会发生什么:
StackOverflow stackOverFlow = new StackOverflow();
String myString = stackOverFlow.Field1;