Frans, the same happened with ISet and the matter is that we can't do
anything about it than use what exactly you have mentioned, as already we
are doing in NH's for Type.
btw in this case we can easy rename the ILogger interface to something like
"INhLogger"; it isn't cool but I'm sure that nobody will have a conflict
with it and for us it does not include the modification of all sources
adding a new namespace (it will be a matter of one minute only).

On Sat, Sep 18, 2010 at 1:05 PM, Frans Bouma <[email protected]> wrote:

> Type name clashes will always happen, and the more classes/interfaces .NET
> will get, the more this will happen. For example the lovely 'Expression'
> class in System.Linq.Expressions is a nice example of how things will
> eventually become a problem due to name clashes.
>
> The solution is simply re-alias the name in the file where the clash occurs
> using a using statement. E.g. in my linq provider I use:
> using LinqExpression = System.Linq.Expressions.Expression;
> to avoid the name clash with my own 'Expression' class which has to be
> referenced in that scope as well.
>
> The problem becomes a real problem when existing code suddenly can't
> compile
> because NHibernate gets an interface, as that will require that the
> existing
> code is updated. However, you'll always run this risk, no matter where you
> store the type, as the full namespace might be included through a using
> statement at the top of the file, mitigating the fact the type is in some
> special namespace.
>
> TL;DR: it's not something one can fix nor will there be a solution to
> prevent this problem in the future.
>
>        FB
>
> > While I was updating one of my projects to NHibernate 3 alpha 2, I did
> > notice that the ILogger interface is placed directly under the NHibernate
> > root namespace. Although I think that the abstraction is a good thing,
> it's
> > too exposed and conflicts with any other ILogger (Castle's one for
> example)
> > out there.
> >
> > That been said, I want to know if it's possible to move it to a more
> > internal namespace, like NHibernate.Logging or something like that. If
> the
> > asnwer is yes, I'll be happy to provide a patch for that.
> >
> > Cheers,
> > Henry Conceição
>
>


-- 
Fabio Maulo

Reply via email to