Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# I';我不知道如何适当地扩展类_C#_Asp.net - Fatal编程技术网

C# I';我不知道如何适当地扩展类

C# I';我不知道如何适当地扩展类,c#,asp.net,C#,Asp.net,我正在使用asp.net中的一些预构建代码。它为我提供了一个MembershipUser类,还提供了其他几个使用MembershipUser的类 我想向MembershipUser添加一个新属性,而不更改任何其他内容。我仍然希望所有预先制作的函数都能与之配合使用 如何扩展MembershipUser以包含新属性,而不创建其他函数不知道的单独类?在C中,扩展类只有三个选项: () 遗憾的是,它们中没有一个能实现您想要实现的目标。如果您可以从类继承,那么就这样做。例如,如果您的属性是字符串 pu

我正在使用asp.net中的一些预构建代码。它为我提供了一个
MembershipUser
类,还提供了其他几个使用
MembershipUser
的类

我想向
MembershipUser
添加一个新属性,而不更改任何其他内容。我仍然希望所有预先制作的函数都能与之配合使用

如何扩展
MembershipUser
以包含新属性,而不创建其他函数不知道的单独类?

在C中,扩展类只有三个选项:

  • ()

  • 遗憾的是,它们中没有一个能实现您想要实现的目标。

    如果您可以从类继承,那么就这样做。例如,如果您的属性是
    字符串

    public class ExtendedMembershipUser : MembershipUser
    {
        public string MyNewProperty { get; set; }
    }
    
    如果无法继承(无法添加属性),请添加扩展方法:


    对于链接1,2,您是否可以像链接3一样指向一些msdn链接?wiki链接没有那么具体。“2是一种设计模式”,必须有一些C示例?使用
    部分
    类扩展类型怎么样?您试图实现什么?你能改为创建一个配置文件属性吗?
    
    public static class MembershipUserExtensions
    {
        public static string MyNewMethod(this MembershipUser user)
        {
            return "answer";
        }
    }