If you extend a class, then that classes definition is part of your
definition, and thus the extended class must be available to anyone using
your class in order to compile.

If you completely wrap a class and translate all calls to and from it, then
it would not be needed by anyone referencing you..

Example:

assembly AAA.dll:

class A
{
}

Assembly BBB.dll:

class B
{
}

Assembly CCC.dll:

class C : A
{
   private B blah = new B();
}

---

Anyone using C, will need a reference to A, but not B..

-Peter

On 10/12/07, [EMAIL PROTECTED] <[EMAIL PROTECTED]>
wrote:
>
> I have a custom log implementation (baseless LogManager, extended ILog and
> extended LogImpl).
> It's working fine.  The only problem is that the projects which reference
> my custom logger, also seem to require that I specifically add a reference
> to Log4Net.  Is there a way to avoid this?   In the main entry to the
> application, I do have a reference to log4net because I didn't go through
> the effort of wrapping the configuration bit.  I'm fine with that because it
> isn't prolific, but in non application entry related assemblies, I'd prefer
> to only have to reference the custom logger.
>
> I've set the log4net reference in my custom logger project to have - copy
> local=true so log4net is copied to the bin directory when building my custom
> logger.
>
> I have also tried building my custom logger using the Log4net source as a
> project reference rather than referencing the the built assembly but that
> doesn't seem to work either.
>
> I have not seen this type of behavior elsewhere, where I have a reference
> to an assembly (custom logger)  that has a reference to another assembly
> (log4net).
>
> Thank you in advance,
> Rich
>
>
>
>
>

Reply via email to