Re: Falsch Typ Erkennung ?
- From: Marvin Massih <please.ask@xxxxxxxxxx>
- Date: Thu, 10 Sep 2009 16:02:13 +0200
Hallo Milan,
Milan schrieb:
ich werde deine Schreibvorschläge akzeptiert, danke für sie.
Danke für das bessere Zitieren, so ist das erheblich leichter zu lesen.
C#-"Standard" bei der Benennung wäre z.B. eine Variable nicht als
"string str_class_X" zu deklarieren, sondern als "string clazz" oder
"string typeName" o.ä.
[ Naming Guidelines ]
http://msdn.microsoft.com/en-us/library/xzf533w0%28VS.71%29.aspx
Einen deutschen Artikel finde ich dazu gerade nicht.
Ich muss von NHibernate eine Funktion aufrufen die gib zurück eine IList<T>.
Welche? Ich habe auch schon mit NHibernate gearbeitet.
Ich habe hier vereinfache dass ist mehr verstehbar.
Das hat es eher verkompliziert...
Statt IList<T> ich
spreche hier über List<T> und wie gesagt ich sollte nicht selber eine liste
Herstellen sonst eine List<T> bekommen, und dann mit dem "ElementAt" einzelne
Elemente zugreifen.
Warum ElementAt?!
Lass doch den Blödsinn und nimm den korrekten Weg über Item.
Für jede Iteration im "for" schleife ich muss
andere Deklaration von
List <class_X>
benutzen und um mit immer unterschiedliche Typ zu umgehen desto habe ich als
linke Seite immer ein "object" Typ deklariert.
object listClass_X = NHibernate(str_class_X);
Ja, das sieht gut aus.
wie kann ich jetzt innerhalb listClass_X eine Methode ElementAt finden ? Typ
"object" hat keine ElementAt Methode.
Hättest Du das einfach mal am Anfang so erklärt...
Hier die Lösung:
// Schöner wäre es, direkt mit Type-Instanzen
// statt mit Strings zu arbeiten
foreach( string className in classNames )
{
object list = NHibernateMethod( className );
Type listType = list.GetType( );
// nur zu Demozwecken
PropertyInfo pCount = listType.GetProperty( "Count" );
int count = ( int )pCount.GetValue( list, null );
PropertyInfo pItem = listType.GetProperty( "Item" );
for( int i=0; i < count; i++ )
{
object obj = pItem.GetValue( list, new object[] { i } );
Console.WriteLine( "ElementAt({0}): {1}", i, obj ?? "<null>" );
}
}
Ich hoffe, das beantwortet jetzt Deine Frage.
Gruß
Marvin
.
- Follow-Ups:
- Re: Falsch Typ Erkennung ?
- From: Milan
- Re: Falsch Typ Erkennung ?
- References:
- Falsch Typ Erkennung ?
- From: Milan
- Re: Falsch Typ Erkennung ?
- From: Marvin Massih
- Re: Falsch Typ Erkennung ?
- From: Milan
- Falsch Typ Erkennung ?
- Prev by Date: Win7 SetCurrentProcessAppID
- Next by Date: Re: Falsch Typ Erkennung ?
- Previous by thread: Re: Falsch Typ Erkennung ?
- Next by thread: Re: Falsch Typ Erkennung ?
- Index(es):
Relevant Pages
|
Loading