[Kde-bindings] Qyoto ARGB windows using C++ QApplication hack: crashes
William Lahti
xfurious at gmail.com
Sun Mar 2 13:29:27 UTC 2008
I'd have to agree with Arno on the "Namespace" class to hold global
methods... it is always a pain to have to change your reference to be
fully qualified... Hrmm.... I cant remember if C# doesn't allow
Kimono.KIO.KIO for a class name or whether it was class KIO { public
uint KIO; } that wasn't allowed. If the latter, just repeating the
namespace name as the global class name would be perfect. I dunno.
On Sun, Mar 2, 2008 at 6:55 AM, Arno Rehn <arno at arnorehn.de> wrote:
> Am Sonntag 02 März 2008 11:03:41 schrieb Richard Dale:
>
> > On Saturday 01 March 2008 23:49:56 Arno Rehn wrote:
> > > > That's good news. I read in one of your commits about generating a lot
> > > > of partial classes for kde/kimono, and I remembered adding support for
> > > > generating nested classes in the same c# source file, and I wondered if
> > > > we were moving in different directions.
> > >
> > > Oh, I forgot to mention that: I changed kalyptus to make every class
> > > partial, not only those that are explicitly listed. This makes it easier
> > > to have even the nested classes in a seperate file. The partial classes
> > > don't create problems so it should be ok.
> >
> > Well if it was a good idea for every class to be open there wouldn't be a
> > need for the 'partial' keyword in C#. All classes in Ruby, Objective-C and
> > other languages are open and so this isn't unreasonable, but it seems to be
> > going against the 'spirit of C# design' to me and I would prefer we only
> > had partial classes when we needed them.
> Well, 'partial' only means the classes are open at compilation time. You
> can'ta extend them later when you just reference the assembly. That's only
> possible while you are writing the 'original' version of the class. C# 3.0
> introduces the so-called 'extension methods' with which you can extend
> classes after compilation, but this doesn't have anything to do with partial
> classes.
>
>
> > > Originally I wanted C++ namespaces to be converted to C# partial classes,
> > > too, so that the C# API would more resemble the C++ one (e.g. that you
> > > could write Kimono.KIO.SomeMethod() ), but that lead to the gmcs crash we
> > > talked about a few weeks ago. Now there is an extra class for the
> > > namespace methods if there are any. So you have to write
> > > Kimono.KIO.KIONamespace.SomeMethod() if you want to access a method
> > > that's in the original C++ KIO namespace. This 'new' naming scheme is not
> > > applied to the Qt classes to keep the old API and old code working.
> >
> > I was going to have a KIO class with the other classes nested within it.
> > Then the C++ standalone methods in the KIO namespace would become C#
> > methods in the KIO class. Are you saying that scheme didn't work, or were
> > you trying KIO as a C# namespace?
> >
> > If we had to have the above scheme I would prefer
> > Kimono.KIO.Namespace.SomeMethod() to Kimono.KIO.KIONamespace.SomeMethod().
> What we have to take into consideration is that we should differentiate the
> names. If you e.g. have
>
> using Kimono;
> using Kimono.KIO;
> using Kimono.DOM;
>
> and say Namespace.SomeMethod() the compiler can't differentiate if you mean
> Kimono.KIO.Namespace.SomeMethod() or Kimono.DOM.Namespace.SomeMethod(). So in
> the end you would end up writing the whole fully qualified name like
> Kimono.KIO.Namespace.SomeMethod() which somehow defeats the purpose of the
> using-directive.
>
> > <copied from other mail>
>
> > The best equivalent of Qyoto.Qt would be Kimono.KDE I
> > would have thought.
> Yes, that's right. But if you apply this to the other namespaces you would get
> something like Kimono.KIO.KIO. I already had something like this in mind but
> it would (in my opinion) overcomplicate the code generation because you then
> need to write the fully qualified name in the generated classes again since
> the compiler can't differentiate between the KIO namespace and the KIO class
> in this namespace.
>
>
> --
> Arno Rehn
> arno at arnorehn.de
> _______________________________________________
>
>
> Kde-bindings mailing list
> Kde-bindings at kde.org
> https://mail.kde.org/mailman/listinfo/kde-bindings
>
--
fury
long name: William Lahti
handle :: fury
freenode :: xfury
blog :: http://xfurious.blogspot.com/
More information about the Kde-bindings
mailing list