Web Log di Adrian Florea

"You know you've achieved perfection in design, not when you have nothing more to add, but when you have nothing more to take away." Antoine de Saint-Exupery
posts - 440, comments - 2715, trackbacks - 3944

My Links

Archives

Post Categories

Image Galleries

.RO Blogs

.RO People

.RO Sites

Blogs

Furls

Links

vinCitori

Impedire l'ereditarietà cross-assembly (reloaded)

Dopo un non breve scambio di email con Paolo Arvati e in base a un suggerimento di Stefano Grevi, posto una nuova implementazione per il pattern:

public class FriendlyInheritableType
{
  internal FriendlyInheritableType()
  {
    if (this.GetType().Assembly != typeof(FriendlyInheritableType).Assembly)
    {
      throw new NotSupportedException();
    }
  }

  public static FriendlyInheritableType NewInstance()
  {
    return new FriendlyInheritableType();
  }
}

Altrimenti, nella notazione del post precedente, FooInside deve o essere sealed, o implementare anche essa il pattern di FooBase, per non spezzare il limite di ereditarietà.

Print | posted on venerdì 25 febbraio 2005 03:10 | Filed Under [ Pattern Dappertutto ]

Powered by:
Powered By Subtext Powered By ASP.NET