Ho una domanda che riguarda il richiamo di un metodo generico di classe con un parametro di tipo noto al runtime.Chiamare una funzione generica con un parametro di tipo determinato in fase di esecuzione
Nello specifico, il codice appare in questo modo:
FieldInfo[] dataFields = this.GetType().GetFields(BindingFlags.Public | BindingFlags.Instance);
// data is just a byte array used internally in DataStream
DataStream ds = new DataStream(data);
foreach (FieldInfo field in dataFields)
{
Type fieldType = field.FieldType;
// I want to call this method and pass in the type parameter specified by the field's type
object objData = (object) ds.Read<fieldType>();
}
La funzione Read() appare in questo modo: scopo
public T Read() where T : struct
di questa funzione è quella di restituire i dati letti da un array di byte.
C'è un modo per chiamare un metodo generico in fase di esecuzione come questo?
Grazie per la risposta, non ho mai considerato un cambiamento di design così semplice. –
Il mio problema non assomigliava affatto alla domanda OP, ma hai dimostrato esattamente quello che dovevo sapere. Grazie! – KennyZ