Announcement

Collapse
No announcement yet.

Frage zur Konvertierung

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Frage zur Konvertierung

    Hallo!
    Wie müsste denn die Konvertierung hierfür aussehen? Bzw. was mache ich falsch?
    Code:
    object[] array = new object[] {typeof(Class1), typeof(Class2) };            
    Type[] myTypeArray = Type.GetTypeArray(array);
    
    FieldInfo[,] myFieldArray = new FieldInfo[array.Length,myTypeArray.Length];
    for (int i = 0; i < myFieldArray.Length; i++)
    {
          for (int j = 0; j < myTypeArray.Length; j++)
          {
                myFieldArray[i, j] = myTypeArray[j].GetFields();                  
          }
    }
    Meldung:Eine implizite Konvertierung vom Typ "System.Reflection.FieldInfo[]" in "System.Reflection.FieldInfo[*,*]" ist nicht möglich.

    Gruß

  • #2
    Hallo,

    was soll wohin konvertiert werden? Stell die Frage bitte so dass das Helfen einfach wird - sollte in deinem Interesse sein.


    mfG Gü
    "Any fool can write code that a computer can understand. Good programmers write code that humans can understand". - Martin Fowler

    Comment


    • #3
      In myFieldArray[i, j] steckt ein FieldInfo aber myTypeArray[j].GetFields() liefert ein FieldInfo Array. Es wäre also eine 3 Dimension nötig. Ich vermute aber eher das du ein 2.Dimensionales Array wolltest. Da bietet sich eher ein Jagged Array an wenn es denn unbedingt ein Array sein soll.

      Also eher so (ohne Gewähr da ohne Verständnis für das was du vor hast)

      [Highlight=C#]FieldInfo[][] myFieldArray = new FieldInfo[array.Length][];
      for (int i = 0; i < array.Length; i++)
      myFieldArray[i] = myTypeArray[j].GetFields();
      [/Highlight]

      Comment


      • #4
        Sorry!
        Also sowas in der Art wie hier, nur mit mehr als einer Klasse:
        Code:
        Type myType = typeof(Class1);
        Dictionary<string, string> fieldDict = new Dictionary<string, string>();
        
        FieldInfo[] myField = myType.GetFields();
        
        for (int i = 0; i < myField.Length; i++)
        {
              fieldDict.Add(myField[i].Name, myField[i].FieldType.Name);
        }
        Ich möchte die Felder von ein paar Klassen und die Typen der Felder in ein Dictionary einlesen (als Strings).

        Comment


        • #5
          Nur um das letztlich zu verstehen.

          Du möchtest eine Liste in dem jeder Eintrag aus 3. Werten besteht, namentlich Typ, Property des Typs,Wert der Property und jeder der 3. Werte soll als string dargestellt werden?

          Wenn dem so ist solltest du uns auch sagen warum. Gefühlt braucht man so was nicht.

          Comment

          Working...
          X