पिछली परियोजनाओं के विभिन्न स्थानों में इस कोड के साथ एक प्रतिलिपि विधि का उपयोग कर रहा था (उन वस्तुओं से निपटने के लिए जिनके नाम समान गुण हैं लेकिन एक आम से प्राप्त नहीं होते हैं आधार वर्ग या एक आम इंटरफेस लागू)।PropertyInfo उदाहरण त्रुटि पर SetValue "ऑब्जेक्ट लक्ष्य प्रकार से मेल नहीं खाता" C#
काम, नए codebase की नई जगह - अब यह भी पर बहुत ही सरल उदाहरण के साथ "ऑब्जेक्ट लक्ष्य प्रकार से मेल नहीं खाता" setValue ... पर नाकाम रहने के है और यह पिछले सप्ताह काम किया ....
public static void Copy(object fromObj, object toObj)
{
Type fromObjectType = fromObj.GetType();
Type toObjectType = toObj.GetType();
foreach (System.Reflection.PropertyInfo fromProperty in
fromObjectType.GetProperties())
{
if (fromProperty.CanRead)
{
string propertyName = fromProperty.Name;
Type propertyType = fromProperty.PropertyType;
System.Reflection.PropertyInfo toProperty =
toObjectType.GetProperty(propertyName);
Type toPropertyType = toProperty.PropertyType;
if (toProperty != null && toProperty.CanWrite)
{
object fromValue = fromProperty.GetValue(fromObj,null);
toProperty.SetValue(toProperty,fromValue,null);
}
}
}
}
private class test
{
private int val;
private string desc;
public int Val { get { return val; } set { val = value; } }
public string Desc { get { return desc; } set { desc = value; } }
}
private void TestIt()
{
test testo = new test();
testo.Val = 2;
testo.Desc = "TWO";
test g = new test();
Copy(testo,g);
}
उम्मीद है कि कोई यह बता सकता है कि मैं कहां जा रहा हूं ???
डी 'ओह होना चाहिए! यह वह बग है जिसे मैंने आखिरी बार तय किया था - और इस बार जांचना भूल गया ... – kpollock