Ich weiß, der Titel der Frage ist nicht sehr klar, aber lassen Sie mich versuchen, so gut wie möglich zu erklären.Verwenden Sie "Params" Schlüsselwort, um einzelne Werte sowie eine Wertesammlung zu enthalten
Ich arbeite an einer Anwendung, die Bytes einer Datei ändert. Ich habe zwei Klassen dafür: Mod
und Action
.
Ein Action
in einer Instanz von Mod
gespeichert wird, teilt dies die Anwendung, die auf die spezifische Adresse zu ändern Bytes
public class Action
{
public Action(int address, params byte[] bytes)
{
Address = address;
Bytes = bytes;
}
public int Address { get; }
public byte[] Bytes { get; }
}
public class Mod
{
public Mod(string name, List<Action> actions)
{
Name = name;
Actions = actions;
}
public string Name { get; }
public List<Action> Actions { get; }
}
Nun gibt einige Bytes sind, die ich will, schreiben, die eher repetitiven werden , so statt sie zu bytes
zuzuweisen, wenn eine Instanz Action
Erstellen I gespeichert haben die Byte-Array innerhalb einer statischen Klasse OpCodes
genannt:
public static class OpCodes
{
public static byte[] BX_LR = {0x70, 0x47};
}
So, jetzt, was ich versuche zu erreichen ist folgendes:
new Action(0x1AF0F0, 0x01, 0x20, OpCodes.BX_LR) //Return 1. (true)
Wie Sie sehen können, ich will 0x01
Bytes verwenden, 0x20
und dann möchte ich auch den Wert von BX_LR
jedoch verwenden, der Compiler mag das nicht.
ich dieses:
Argument 4: Konvertierung von 'byte []' auf 'byte'
Wie kann ich das erreichen?
Compiler mag das nicht? –
Ich fügte hinzu, was der Compiler sagt. – ThePerplexedOne
Es gibt bereits eine 'Action'-Klasse im Framework. Vielleicht möchten Sie das ändern, aber es ist nicht notwendig! – pid