मेरे पास कोड का एक टुकड़ा है जिसे मेरे रिपोजिटरी द्वारा सहेजा जा रहा है जब एक इकाई की जांच करने की आवश्यकता है। मैं इस जांच करने के लिए बचाने के लिए पर एक NHibernate इंटरसेप्टर है, लेकिन जब मैं कोड GetGenericTypeDefinition
फ़ंक्शन को कॉल त्रुटि के साथ विफल:GetGenericTypeDefinition क्यों विफल हो जाता है?
protected override object PerformSaveOrUpdate(SaveOrUpdateEvent evt)
{
if (evt.Entity.GetType().GetGenericTypeDefinition() == typeof(IChild<>))
{
var parent = (evt.Entity as IChild<Entity>).Parent;
if (parent != null)
{
parent.UpdateCacheCounters();
evt.Session.Save(parent);
}
}
}
किसी भी मदद की बहुत सराहना की जाएगी:
[InvalidOperationException: Operation is not valid due to the current state of the object.] System.RuntimeType.GetGenericTypeDefinition() +7525641
कोड यह है।
क्या आप देख सकते हैं कि evt.Entity.GetType() स्वयं पहले से ही विफल हो गया है या नहीं? यह जानने में मदद करेगा कि इस उदाहरण में वास्तव में कौन सी फ़ंक्शन कॉल विफल हो जाती है। अपवाद GetGenericTypeDefinition() से लौटाए गए अपवाद की तरह नहीं दिखता है। –
यह evt.Entity.GetType() – Richard