Laden...

Alias für eigene Klasse erstellen

Erstellt von idontwantaname vor 17 Jahren Letzter Beitrag vor 17 Jahren 1.762 Views
I
idontwantaname Themenstarter:in
86 Beiträge seit 2006
vor 17 Jahren
Alias für eigene Klasse erstellen

Hallo!

Ich hätte da mal eine Frage: Ich schreibe mir selbst gerade aus Interesse eine Library, die es ermöglicht, mit unendlich großen Ganzzahlen zu rechnen (nur durch Arbeitsspeicher begrenzt). Meine Klasse heißt LargeInteger und ich würde gerne einen Alias machen auf z.B: lint, um das tippen einfacher zu machen, nur wie stelle ich das an?

Und ich will jetzt nicht vor jedem Programm bzw. vor jeder Klasse ein using.... machen. Geht dies überhaupt (so wie z.B. int <-> Int32), oder ist das nur ein fixes Sprachfeature welches man für eigene Zwecke nicht verwenden kann?
(In Delphi geht es z.B. über type, aber egal)

Lg oli

49.485 Beiträge seit 2005
vor 17 Jahren

Hallo idontwantaname,

der Alias int ist ein fixes Sprachefeature. Dir bleibt also nur an den Stellen, an denen du die Klassen benutzen willst einen using-Alias zu definieren.

using lint = LargeIntNamespace.LargeInt;

Sowas wie type in Delphi oder typedef in C/C++ gibt es in C# nicht.

herbivore

S
8.746 Beiträge seit 2005
vor 17 Jahren

Original von idontwantaname
Meine Klasse heißt LargeInteger und ich würde gerne einen Alias machen auf z.B: lint, um das tippen einfacher zu machen, nur wie stelle ich das an?

Dafür bietet Visual Studio tolle Eintipphilfen an.

(In Delphi geht es z.B. über type, aber egal)

Tut es nicht. In Delphi kannst du einen neuen Typ definieren, der dem alten entspricht. Beide Typen sind nicht identisch, wenn auch gleich.

Aliases gibt es in .NET nur für Namespaces. Der richtige Weg Tipparbeit zu sparen, besteht darin, die Namensgebung der Klassen so zu gestalten, dass Intellisense dir richtig unter die Arme greifen kann. Alternativ auch Makros oder Snippets.

P
22 Beiträge seit 2007
vor 17 Jahren

um das blöde:

LargeInt i = new(irgendwas);

zu umgehen, kannst du das ganze auch in einem struct machen:

LargeInt i = irgendwas;

Coding Styles are like assholes, everyone has one and no one likes one!

I
idontwantaname Themenstarter:in
86 Beiträge seit 2006
vor 17 Jahren

@psYcho.at: das habe ich per impliziete Umwandlungs-Operatoren gelöst 😉

@topic: schade, dass es keine Möglichkeit gibt, ist aber nicht so wichtig.

Lg oli

4.207 Beiträge seit 2003
vor 17 Jahren

Original von svenson
Aliases gibt es in .NET nur für Namespaces.

Das stimmt so nicht: http://msdn2.microsoft.com/de-de/library/sf0df423(VS.80).aspx

Wissensvermittler und Technologieberater
für .NET, Codequalität und agile Methoden

www.goloroden.de
www.des-eisbaeren-blog.de