Saya tahu ada beberapa pertanyaan yang membahas hal ini, tetapi jawabannya biasanya mengikuti rekomendasi Kamus atau Kumpulan parameter, yang tidak berfungsi dalam situasi saya.
Saya menggunakan perpustakaan yang bekerja melalui refleksi untuk melakukan banyak hal pintar dengan objek dengan properti. Ini berfungsi dengan kelas yang ditentukan, serta kelas dinamis. Saya perlu mengambil satu langkah lebih jauh dan melakukan sesuatu seperti ini:
public static object GetDynamicObject(Dictionary<string,object> properties) {
var myObject = new object();
foreach (var property in properties) {
//This next line obviously doesn't work...
myObject.AddProperty(property.Key,property.Value);
}
return myObject;
}
public void Main() {
var properties = new Dictionary<string,object>();
properties.Add("Property1",aCustomClassInstance);
properties.Add("Property2","TestString2");
var myObject = GetDynamicObject(properties);
//Then use them like this (or rather the plug in uses them through reflection)
var customClass = myObject.Property1;
var myString = myObject.Property2;
}
Pustaka berfungsi dengan baik dengan tipe variabel dinamis, dengan properti yang ditetapkan secara manual. Namun saya tidak tahu berapa banyak atau properti apa yang akan ditambahkan sebelumnya.