Startseite > Online-Artikel

Online-Artikel

Eigene String-Klasse implementieren

13.10.2009

Die Typen-Klassen im Namensraum System sind versiegelte Klassen. Das heißt, man kann Klassen wie String oder int keine Klasse ableiten. Mit einem Trick umgeht man das Hindernis.
Die neue Klasse Memo soll sich wie der Typ String von .NET verhalten. Das heißt, sie soll sich durch einen Ausdruck wie
Memo m = "Ein neues Memo";
initialisieren lassen und durch
string s = m;
einem String zuweisen lassen. Die Klasse Memo erhält ein Feld "Text", das natürlich ein String ist. Der Trick liegt nun im Überschreiben von Operatoren und von der Methode ToString().
namespace Stringy
{
  class Program
  {
    staticvoid Main(string[] args)
    {
      Memo r = "Meine eigene String-Klasse.";
      Console.WriteLine(r);
    }
  }

  publicclass Memo
  {
    publicstring Text { get; set; }

    public Memo(string s)
    {
      Text = s;
    }

    publicoverridestring ToString()
    {
      return Text;
    }
    
    publicstaticimplicitoperator Memo(string x)
    {
      Memo m = new Memo(x);
      return m;
    }

    publicstaticexplicitoperatorstring(Memo m)
    {
      return m.Text;
    }
  }
}


Sie finden diesen Artikel interessant? Dann helfen Sie anderen ihn zu finden und kicken Sie ihn bei www.dotnet-kicks.de!

Login
Sie sind nicht eingeloggt.

Login & Registrierung
Abo bestellen





Developer Week Special

dotnetpro präsentiert die Developer Week vom 24. – 27. Juni 2013 im NCC Ost, Nürnberg – eine der größten Konferenzen ganz Europas für Entwickler

Anzeige





Newsletter
Tragen Sie Ihre E-Mailadresse für den kostenlosen Newsletter von dotnetpro ein.


Umfrage
Kollegen: Stütze oder Bremse?





Ergebnis anzeigen