Wednesday 15 April 2015

c# - Setting presenter property throws 'cannot be used as type parameter' exception -


यहां मेरा प्रस्तोता वर्ग है:

  सार्वजनिक वर्ग की सूचीप्रदर्शक & lt; टीवीउज़ इंटरफेस, टीसीटीएक्सएक्सटी & gt; : प्रस्तुतकर्ता & lt; टीवीउप इंटरफेस, टीसीटीएक्सएक्सटी & gt; जहां टीवीइवइन्टरफ़ेस: आईसीटीएक्सटीव्यू & lt; TContext & gt; IListView जहां TContext: IObservableObject {संरक्षित ओपरराइड शून्य पर प्रारंभिक प्रस्तुतीकरण पूर्ण (डायनामिक डेटा) {देखें.व्यूजप्रदर्शक = (सूचीप्रदर्शक & lt; टीवीइज़ इंटरफ़ेस, टीसीटीएक्सएक्स & gt;); }}   

इस तरह से मैं इस दृश्य में संपत्ति को परिभाषित कर रहा हूं:

  सार्वजनिक सूची प्रदाता & lt; IListView, IObservableObject & gt; ViewPresenter {get; सेट; }   

ViewPresenter संपत्ति पर फेंक दिया गया संकलन का समय अपवाद है "प्रकार IListView को सामान्य प्रकार या पद्धति ListPresenter & lt; TViewInterface, TContect & gt; । IListView से IContextview & lt; IObservableObject & gt; से कोई अंतर्निहित संदर्भ रूपांतरण नहीं है।

क्या मैं ViewPresenter को गलत तरीके से परिभाषित कर रहा हूं? या क्या मैं इसे सही ढंग से कास्ट नहीं कर रहा हूं? या दोनों? < / P>

मेरा मानना ​​है कि यह आपके जेनेरिक में बाधाओं के साथ क्या करना है। आप टीसीओएन्टेक्स , और IListView, लेकिन इसका मतलब यह नहीं है कि IListView TContext का एक IContextView है, बस जो कुछ भी आप उपयोग करते हैं वह दोनों है ... फिर त्रुटि स्पष्ट रूप से कहती है कि आप एक टीवीइवेंट इंटरफेस प्रकार के रूप में एक IListView का उपयोग करने की कोशिश कर रहे हैं, लेकिन उसके बाद से IContextView इंटरफ़ेस को लागू नहीं करता है, यह विफल रहता है।

No comments:

Post a Comment