Frage zu Reflection und PropertyInfo

12/02/2008 - 15:16 von Roland Schumacher | Report spam
Hallo NG

Ich hole mir aus einem Objekt folgenderweise alle Eigenschaften.

[...]
Type type = dataObject.GetType();
PropertyInfo[] pis = type.GetProperties();

foreach (PropertyInfo pi in pis)
{
[...]

Jetzt habe ich in einer Klasse auch eigenschaften die vom Typ einer
anderen, eigenen Klasse sind. Diese Eigenschaften möchte ich aber nicht
auswerten. Das mache ich jetzt wie folgt.

[...]
foreach (PropertyInfo pi in pis)
{
if (pi.PropertyType.IsSealed)
{
[...]

So habe ich zur Zeit alle Systemtypen und Enums. Ist das narrensicher?

Gruss
Roland Schumacher
http://blog.geniali.ch/
 

Lesen sie die antworten

#1 Herfried K. Wagner [MVP]
12/02/2008 - 15:58 | Warnen spam
"Roland Schumacher" schrieb:
Ich hole mir aus einem Objekt folgenderweise alle Eigenschaften.

[...]
Type type = dataObject.GetType();
PropertyInfo[] pis = type.GetProperties();

foreach (PropertyInfo pi in pis)
{
[...]

Jetzt habe ich in einer Klasse auch eigenschaften die vom Typ einer
anderen, eigenen Klasse sind. Diese Eigenschaften möchte ich aber nicht
auswerten. Das mache ich jetzt wie folgt.

[...]
foreach (PropertyInfo pi in pis)
{
if (pi.PropertyType.IsSealed)
{
[...]

So habe ich zur Zeit alle Systemtypen und Enums. Ist das narrensicher?



Nein, da "Systemtypen" nicht notwendigerweise versiegelt sein müssen. Du
könntest z.B. die Eigenschaft 'Assembly' der 'Type'-Objekte, welche die
'PropertyType'-Eigenschaft zurückgibt, daraufhin überprüfen, ob es sich um
Dein Assembly handelt.

M S Herfried K. Wagner
M V P <URL:http://dotnet.mvps.org/>
V B <URL:http://dotnet.mvps.org/dotnet/faqs/>

Ähnliche fragen