Çalışma zamanında bilinen bir tür parametresiyle bir sınıfın genel yöntemini çağırmayı içeren bir sorum var. Belirli yılındaÇalışma zamanında belirlenen bir tür parametresiyle genel bir işlev çağrısı
, kod şöyle görünür:
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>();
}
Oku() fonksiyonu şöyle görünür:
public T Read() where T : struct
Bu işlevin amacı bir bayt dizisi okunan verileri döndürmektir.
Böyle bir çalışma zamanında genel bir yöntemini çağırmanın bir yolu var mı?
Cevabınız için teşekkürler, bu kadar basit bir tasarım değişikliğini hiç düşünmedim. –
Sorunum, OP sorusu gibi görünmüyordu, ancak bilmem gereken şeyi tam olarak gösterdiniz. Teşekkürler! – KennyZ