3

私はこのsealedクラスを持っています、

public sealed class A
{
    public string AName {get;set;}
}

そして、誰かが次のように拡張メソッドを書くことができます:

public static class Extensions
{
   public static void ExtensionMethodForA (this A a)
   {
      Console.WriteLine("A's Extension method!");
   }
}

問題は、それをどのように防ぐかです。

4

3 に答える 3

6

「拡張メソッド」という用語に混乱するかもしれません。クラスのメソッドでも、派生クラスでもありません。型に対する操作です。クラス階層のプライベート、保護、または内部メンバーにはアクセスできないため、クラスは依然としてシールされています。

したがって、できませんし、する必要もありません。

于 2013-10-25T00:06:02.700 に答える