Windows Azure Cloud Storage ermöglicht es Ihnen bereits ab 0,10€ pro GB/Monat die Vorteile der Cloud zu nutzen.
Willkommen bei dotnet-snippets.de! Snippet hinzufügen Login Registrieren
Snippets in der Datenbank: 1551 | Anzahl registrierter User: 1841 | Besucher online: 129
Hauptmenü
Home
Top Ten
Zufälliger Snippet
FAQs
.NET Community
dotnet-forum.de
dotnet-kicks.de
Social

RSS Feeds
Rss Alle Snippets
Rss C#
Rss VB.NET
Rss C++
Rss ASP.NET
Partner
Member of Microsoft Community Leader/Insider Program (CLIP)

Initialisiert alle String-Properties


Autor: Dosihris
Sprache: C#
Bewertung:
4.08 (3 votes)
Anzahl der Aufrufe: 5049
  
Kick it on dotnet-kicks.de  

Beschreibung:

Dieses Snippet in einem Konstruktor eines Objektes initialisiert automatisch alle String-Properties im Objekt. Selbst wenn später welche hinzukommen werden diese automatisch mit initialisiert. Ein string der null ist führt oft zu unerwartetem Verhalten, daher lieber initialisieren...

Abgelegt unter: Initialisieren, string, constructor.



C#
1
2
3
4
5
6
7
8
foreach (PropertyInfo prop in GetType().GetProperties())            // Gehe durch alle meine eigenen Properties
{
    if (prop.PropertyType == typeof(string) && prop.CanWrite)       // Wenn es sich um eine beschreibbare string-Property handelt, 
    {
        prop.SetValue(this, string.Empty, null);                    // dann setze den Wert der Property auf string.Empty (mit null argumente)
    }
}

Sie haben Fragen zu diesem Snippet oder brauchen Hilfe bei der .NET Entwicklung?
Freundliche und kompetente Entwickler helfen Ihnen gern weiter im Forum für .NET Entwicklung.



Kommentare:
(Zum Schreiben von Kommentaren bitte anmelden.)

Rainer Hilmer schrieb am:  28.09.2009 09:57:17

Nette Idee, aber ich finde, durch dieses Snippet wird man erst recht zur Nachlässigkeit verleitet.
Günther Foidl schrieb am:  05.10.2009 16:01:57

http://dotnet-snippets.de/dns/standardwerte-fuer-automatische-eigenschaften-in-net-3x-SID984.aspx
zeigt wie dies für alle Eigenschaften möglich ist die mit den speziellen Attributen versehen sind.

Aber warum sollte ein nicht initiierter String zu Problemen führen? Das ist wie bei jedem anderen Objekt auch: Prüfen auf null und konktret für den String mit string.IsNullOrEmpty. Ich sehe darin kein Problem.
Dosihris schrieb am:  15.10.2009 11:38:21

Doch, dass kann ein Problem sein, denn bezüglich Databinding oder auch wenn man Drittkomponenten benutzt, auf deren Quellcode man keinen Einfluss hat, kann eine null-property zu einem Problem führen. Ich arbeite in einer Software, wo null ins strings in keinem Fall sinn macht. hier wird immer und überall alles mögliche gebunden. Daher hab ich dieses Snippet gebaut. Und überall ein extra Attribut drüber machen sind 100% Zeilen mehr...
Sperneder Patrick schrieb am:  15.10.2009 19:30:57

@Dosihris

Ich kann die Sinnhaftigkeit auch nicht ganz nachvollziehen, ist es nicht mit 'Kanonen auf Spatzen zu schiessen' nur um sicherzugehen das eine mögliche Eigenschaft ( in deinem Fall halt, schreibbare string Eigenschaften) eines Objektes nicht 'Null' ist ?
Reflection ist langsam, das ist nichts neues, den Aufwand den du betreibst rechtfertigt eine '!NULL Überprüfung' meiner Meinung nach nicht.
Ausserdem wie du vorher gesagt hast, verwendest du Databinding, in diesem Fall ist es ja egal wenn eine Eigenschaft NULL ist. Ein NULL Wert würde doch allerhöchstens bei einem mit eingebundenen ValueConverter Probleme verursachen. Und dann auch nur wenn du hier falsch mit Null umgehst.


Diese Snippets könnten für Sie interessant sein:
[C#] Hexcode eines Strings ausgeben
[VB.NET] Größe eines Strings berechnen
[C#] String bei bestimmten Zeichen splitten
[C#] Encode To ASCII - Buchstaben in Ascii-Werte umwandeln
[C#] Gibt den MD5 Hash eines Stings als String zurück.
[C#] String in Byte Array und zurück wandeln
[VB.NET] Den SHA1 Hash eines Strings ermitteln
[VB.NET] Den MD5 Hash eines Strings ermitteln
[C#] Wandelt ein Bytearray in einen Binärstring
[VB.NET] Text auf Bild zeichnen
[C#] String auf Emailadresse prüfen
[C#] SHA-1 Hash eines Strings erzeugen
[VB.NET] Strings schnell zählen
[VB.NET] Pfad kürzen
[VB.NET] Einfache Ähnlichkeitssuche (SQL)
[C#] Pfad kürzen
[C#] IsPositiveInteger as Extension Method
[C#] Datum und Zeit als String
[C#] String spiegeln
[VB.NET] String spiegeln
[C#] Erweiterung für Stringumwandlungen
[C#] Image in string wandeln und zurück
[C#] Strings komprimieren und dekomprimieren
[C#] CamelCase in Title Case konvertieren
[C#] Text zentriert in die Konsole schreiben
[VB.NET] Strings komprimieren und dekomprimieren
[C#] Fuzzy Suche
[VB.NET] Rows eines DataGridView in ein String-Array konvertieren
[C#] kontrolliert ob String eine gültige GUID ist
[C#] HTML aus einem String entfernen
[C#] byte-String in byte wandeln
[C#] Formelevaluierung aus RPN Form
[C#] Erzeugen eines zufälligen Strings
[C#] mehrfach vorkommende Worte entfernen
[C#] Determines whether the specified input is numeric
[C#] Prozentual Textvergleichen
[C#] doppelte Leerzeichen aus einem String entfernen
[C#] Zählt wie oft ein String in einem String vorkommt.
[C#] String kürzen ohne ein Wort abzuschneiden
[C#] String auf erlaubte Zeichen prüfen
[C#] Austauch von kritischen Zeichen in einem String...
[VB.NET] String in Byte Array und zurück wandeln
[C#] Gross- Kleinbuchstaben in String schnell zählen
[VB.NET] Listen, Arrays, Strings konvertieren
[C#] CRC32-Hash eines Strings
[VB.NET] CRC32-Hash eines Strings
[C#] Größe eines Strings berechnen
[VB.NET] String Splitten
[C#] Capitalize the first letter of every word
[VB.NET] Textdatei lesen und schreiben (String, StringArray, etc...)
[C#] Text2Bitmap (String in Bild umwandeln)
[C#] Double in String umwandeln (mit InvariantCulture)
[C#] String in Double umwandeln (mit InvariantCulture)
[C#] Convert MAC string to byte array
[C#] Reverse String
[C#] Stellt fest ob ein String ein Palindrom ist
[VB.NET] String umkehren
[C#] Letztes Wort aus einem String ermitteln
[C#] Erstes Wort aus einem String ermitteln
[VB.NET] List all controls by using the name of the controls
[C#] Alle E-Mail Adressen aus einem String bzw. Text filtern
[C#] StringSplitter
[C#] Fundstelle eines Suchbegriffs markieren
[C#] MD5 Verschlüsselung
[C#] HTML Tags aus String entfernen
[C#] Geschachtelte Methode zur String-Bearbeitung
[C#] Byte Größenangaben als String formatieren (KB, MB, GB, ...)
[VB.NET] Permutation nachweisen
[C#] Implode und Trim für String-Enumerationen (Extension Method)
[C#] String zu MD5
[C#] Tabulatorzeichen durch Leerzeichen ersetzen
[C#] String in einzelne Wörter aufteilen und Wörter zählen
[VB.NET] Passwortgenerator
[C#] Render MVC Action as string
[C#] Namen von Klassenmember als String ermitteln
[C#] IncreaseString
[VB.NET] String uebers Netzwerk oder Internet and einen PC senden
[C#] String to char Tarnung
[C#] C# XOR Crypt
[C#] String-Formatierung für Faule: Erweiterungsmethode
[C#] Darstellung eines ASP.NET Steuerelementes als HTML-String
[C#] DesignMode im Kontruktor

schlecht sehr gut
1 2 3 4 5 6 7 8 9 10
Nur angemeldete User können Snippets bewerten.