3

asp.net でビルド済みのコードを使用しています。それは私にMembershipUserクラスを提供し、 MembershipUser.

MembershipUser他に何も変更せずに新しいプロパティを追加したい。私はまだすべての既成の機能がそれで動作することを望んでいます。

MembershipUser他の関数が認識していない別のクラスを作成せずに、新しいプロパティを含めるように拡張するにはどうすればよいですか?

4

2 に答える 2

2

C# では、クラスを拡張するための 3 つのオプションしかありません。

  1. 継承
  2. 装飾( MSDN リンク)
  3. 拡張方法

悲しいことに、あなたが達成しようとしていることができる人は誰もいません。

于 2013-05-24T16:59:20.030 に答える
1

クラスから継承できる場合は、それを行います。たとえば、あなたの財産がstring

public class ExtendedMembershipUser : MembershipUser
{
    public string MyNewProperty { get; set; }
}

または、継承できない場合は拡張メソッドを追加します (プロパティを追加することはできません)。

public static class MembershipUserExtensions
{
    public static string MyNewMethod(this MembershipUser user)
    {
        return "answer";
    }
}
于 2013-05-24T17:04:45.040 に答える