Hallo,
ich würde gerne mit einem Perl-Script eine C#-Class erstellen, habe allerdings einige Probleme:
ich habe ein Array welches wie folgt aussieht:
{
{"name1", 0001, 21, 1121, 1233454571},
{"name2", 0002, 22, 1122, 1233454572},
{"name3", 0003, 23, 1123, 1233454573},
{"name4", 0004, 24, 1124, 1233454574},
}
zudem ein struct:
struct registers
{
string name;
ushort addr;
byte size;
ushort abc;
ushort def;
}
ich möchte jetzt auf meine elemente wie folgt zugreifen:
array[0].name # ausgabe soll dann ein string mit "name1" sein
oder
array[2].def # soll mir dann 1233454574 liefern
ich arbeite noch nicht wirklich lange mit C# und komme eher von der ASM bzw Scripting Seite.
Ich hoffe ich bin hier richtig und irgendjemand kann mir helfen.
mein jetziger Code: (welcher nicht funktioniert 😦 )
class SFRmasks
{
struct register_info_t
{
string name;
ushort addr;
byte size;
ushort reset_value;
ushort reset_value_mask;
}
class SFR
{
register_info_t getSFR(int index)
{
return table[index];
}
}
class CRC_SFRs : SFR
{
register_info_t[] table = {
{"name1", 0001, 21, 1121, 1233454571},
{"name2", 0002, 22, 1122, 1233454572},
{"name3", 0003, 23, 1123, 1233454573},
{"name4", 0004, 24, 1124, 1233454574},
};
}
}
mfg
moepat
Hallo,
willkommen bei myCSharp.de
Wie man einen Array erstellt findest du hier: 🛈 📗 :rtfm:
Hier noch ein Tutorial dazu: Work with arrays
Das eigentliche Problem ist hier aber die Vererbung. Und zwar greifst du in getSFR auf table zu. Und diese Variable ist nicht zugreifbar da du erst in der davon abgeleiteten klasse deine table definiert hast. Schieb deine table in die Sfr klasse dann müsste es passen.
Wie man solche Syntaxfehler selbst lösen kann siehst du hier: [Hinweis] Syntaxfehler selbst lösen (Compilerfehlermeldungen)
Guck dir auch mal die Namingconventions von Microsoft an: Naming Conventions
Ich muss dich auf [Hinweis] Wie poste ich richtig? 1.1 und 1.1.1 verweisen da wir hier ein bestimmtes Maß an Eigeninitiative sowie etwas Grundwissen vorraussetzen.
Gruss
Michael