TypeDescriptors sind ziemlich mächtige Viecher, was wie so oft mit Komplexität einhergeht. Für Interessierte gab es vor nicht allzu langer Zeit dazu einen Artikel im MSDN-Mag, für alle anderen würde ich aber einen anderen Weg vorschlagen
.
mariog86 hat folgendes geschrieben: |
Das Font Property der Control-Klasse hat aber auch einen Stanndartwert gesetzt, also muss das irgendwie möglich sein. |
Dann schau doch im Reflector nach, wie es Control macht
.
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28:
| Font font2;
[AmbientValue(null)] public Font Font2 { get { return font2 ?? DefaultFont; } set { if (value != font2) { if (font2 != null) font2.Dispose(); font2 = value; } } }
public void ResetFont2() { font2 = null; }
bool ShouldSerializeFont2() { return font2 != null; } |
PS: Das wären dann 4 € in unsere Standart-Kaffeekasse.