मुझे पता है कि कुछ ऐसे प्रश्न हैं जो इसे संबोधित करते हैं, लेकिन उत्तर आमतौर पर एक डिक्शनरी या कलेक्शन ऑफ पैरामीटर्स की सिफारिश की तर्ज पर चलते हैं, जो मेरी स्थिति में काम नहीं करता है।
मैं एक पुस्तकालय का उपयोग कर रहा हूं जो गुणों के साथ वस्तुओं के साथ बहुत सारी चतुर चीजों को करने के लिए प्रतिबिंब के माध्यम से काम करता है। यह परिभाषित कक्षाओं, साथ ही गतिशील कक्षाओं के साथ काम करता है। मुझे इस एक कदम को आगे बढ़ाने और इन पंक्तियों के साथ कुछ करने की आवश्यकता है:
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;
}
लायब्रेरी एक गतिशील चर प्रकार के साथ ठीक काम करती है, गुणों के साथ मैन्युअल रूप से असाइन की गई है। हालाँकि मुझे नहीं पता कि पहले से कितने या कौन से गुण जोड़े जाएंगे।