我在asp.net中使用了一些预先构建的代码。它为我提供了MembershipUser
类,还有其他几个使用MembershipUser
的类。
我想在不更改任何其他内容的情况下向MembershipUser
添加新属性。我仍然希望所有预先制作的功能都可以使用它。
如何在不创建其他函数不知道的单独类的情况下扩展MembershipUser
以包含新属性?
答案 0 :(得分:2)
在C#中,您只有三个扩展类的选项:
答案 1 :(得分:1)
如果你可以从班级继承,那就去做吧。例如,如果您的媒体资源是string
public class ExtendedMembershipUser : MembershipUser
{
public string MyNewProperty { get; set; }
}
如果您无法继承(无法添加属性),请添加扩展方法:
public static class MembershipUserExtensions
{
public static string MyNewMethod(this MembershipUser user)
{
return "answer";
}
}