Ich stelle mir die Fähigkeit vor, fließenden Code zu schreiben, der Zahlen innerhalb von Codebasen Bedeutung hinzufügt. Angenommen, Sie möchten eine Zahl, die eine Entfernung in Meilen darstellt. Sie müssten so etwas wie:Erweiterungsmethode für Int32 in C#
Nutzungs:
var result = myMethod(100.Miles());
Ich denke, das wäre viel besser lesbar als einfach in der int vorbei, und man könnte vermutlich die Überprüfung der Grenzen zu den Miles-Typ gelten.
Erweiterung Methode und Struktur Implementierung:
static class IntExtensions
{
public static Miles(this int i) { get { return new Miles { Count = i }; } }
}
public struct Miles
{
public int Count { get; private set; } //optionally perform bounds checking
}
Wäre eine solche Idee nützlich sein, oder ist es zu spät an einem heißen Freitag?
Edit: Ja, sieht nicht ganz so gut ohne Extension-Eigenschaften ... Entschuldigung für den überstürzten ungültigen Code. Es war nur eine Idee.
Ihre Erweiterungsmethode und ihre Klassendefinition ist falsch. –
Wie stellen Sie sich das vor? Hinzufügen von Sachen für alle Arten von Einheiten? 100.Miles() * 2.43.Kilogramme()/454.MoonCycles()? – simendsjo
Sie meinen "vorstellen" nicht "vorstellen", und während es für Ihre einzigartige Implementierung großartig sein kann, werde ich nichts davon in meiner finanziellen Anwendung haben. Ich will .Dollar und .Euros. – StingyJack