Mam pytanie dotyczące wywoływania ogólnej metody klasy z parametrem typu znanym w czasie wykonywania.Wywołanie funkcji ogólnej z parametrem typu określonym w czasie wykonywania
W specyficzny kod wygląda tak:
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>();
}
Funkcja read() wygląda tak: Celem
public T Read() where T : struct
ta funkcja jest przywrócenie danych odczytanych z tablicy bajtów.
Czy istnieje jakiś sposób wywołania metody ogólnej w czasie wykonywania w ten sposób?
Dzięki za odpowiedź, nigdy nie brałem pod uwagę tak prostej zmiany projektu. –
Mój problem nie wyglądał tak jak pytanie OP, ale pokazałeś dokładnie to, co powinienem wiedzieć. Dzięki! – KennyZ