Nasıl bir C özelliklerini okuyabilir miyim# sınıf dinamik olarak?
eval("something()"); Bir kodu JavaScript ile dinamik olarak çalıştırmak için yapabilirim. Bana C de aynı şeyi yapmak için bir yoldur#?
Ne olduğumu tam olarak yapmaya çalıştığı bu bir tamsayı değişkeni (i) ve ben birden çok özellik isimleri: "Özellik1", "Property2", "Property3", vb.
Şimdi, "özelliği i değerine bağlı olarak. ı**" Mülkiyet üzerinde bazı işlemler gerçekleştirmek istiyorum
Bu Javascript ile gerçekten çok basittir. C ile bunu yapmak için herhangi bir yolu var# mı?
CEVAP
Ne yazık ki, C# gibi dinamik bir dil değil.
Sen ne yapabilirsin, ancak, oluşturmak için bir C# kaynak kodu dosya, tam sınıf ve her şeyi, ve çalıştırın üzerinden CodeDom sağlayıcısı için C# ve derleme bir derleme, ve sonra çalıştırmak.
MSDN'DE bu forumda yazılan bazı örnek sayfayı aşağı doğru biraz kod ile bir cevap içerir:
create a anonymous method from a string?
Pek bu çok iyi bir çözüm olduğunu söyleyebilirim, ama yine de mümkün.
Ne tür bir kod bir dize beklemek gidiyorsun? Eğer geçerli bir kod, örneğin matematik ifadeler sadece küçük bir alt kümesi ise, başka alternatifler de var olabilir.
EditO soruları ben iyice ilk okuma öğretir. Evet, yansıma sana yardım vermek mümkün olacaktır.
Eğer split dize tarafından ; ilk olarak, bireysel özelliklerini kullanabilirsiniz aşağıdaki kodu bir nesne döndürmek için propertyınfo için belirli bir özellik için bir sınıf, ve sonra bu nesne için manipüle belirli bir nesne.
String propName = "Text";
PropertyInfo pi = someObject.GetType().GetProperty(propName);
pi.SetValue(someObject, "New Value", new Object[0]);

Nasıl iki JavaScript nesnelerin özelli...
Nasıl JavaScript ile dinamik olarak CS...
Nasıl Objective-C ile çalışma zamanınd...
Nasıl PHP kullanmak dinamik olarak Goo...
Nasıl python sınıf bir dinamik olarak ...