/ / 'Mshtml.IHTMLDocument2' टाइप करने के लिए 'HtmlAgilityPack.HtmlDocument' प्रकार की ऑब्जेक्ट डालने में असमर्थ

' HtmlAgilityPack. HtmlDocument ' टाइप करने के लिए प्रकार ' mshtml ' ऑब्जेक्ट कास्ट करने में असमर्थ । IHTMLDocument2 '-c#

"HtmlAgilityPack.HtmlDocument" प्रकार की वस्तु को "mshtml.IHTMLDocument2" टाइप करने में असमर्थ

HTMLDocument doc = new HTMLDocument();
IHTMLDocument2 doc2 = (IHTMLDocument2)doc;

उत्तर:

जवाब के लिए 0 № 1

प्रकार डालने के लिए A टाइप करने के लिए B, निम्नलिखित में से एक सत्य होना चाहिए

  • प्रकार A प्रकार से विरासत में मिला होना चाहिए B, या इसे प्रकार लागू करना चाहिए B अगर यह एक इंटरफ़ेस है। इस मामले में महत्वपूर्ण रूपांतरण काम करेगा
  • प्रकार B प्रकार से विरासत में मिला होना चाहिए A और चर जिसे आप कास्टिंग कर रहे हैं, उसे एक प्रकार का उदाहरण रखना चाहिए B.
  • होना चाहिये स्पष्ट ऑपरेटर दोनों प्रकार में परिभाषित किया गया है जो रूपांतरण करता है

यदि कोई भी सत्य नहीं है, तो आपको "रनटाइम अपवाद मिलेगा। प्रकारों के लिए।" HtmlAgilityPack.HtmlDocument तथा mshtml.IHTMLDocument2 दोनों ही स्थितियां संतुष्ट नहीं हैं।

अद्यतन करें: लगता है कि आपके पास एक टाइपो है - घोषित करने के बजाय doc के रूप में चर HTMLDocument आपने इसे घोषित कर दिया है HtmlDocument। C # केस-संवेदी भाषा है।

आगे की पढाई: कास्टिंग और प्रकार रूपांतरण (C # प्रोग्रामिंग गाइड)


उत्तर № 2 के लिए -1

इसकी वजह यह है HTMLDocument लागू नहीं करता है IHTMLDocument2 इसलिए कलाकारों का प्रदर्शन करने का कोई ज्ञात रास्ता नहीं है।