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




Anzeige







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


Umfrage
Verwenden Sie Application Lifecycle Management?





Ergebnis anzeigen