यहाँ एक इंटरफेस, मेरे प्रयास से बंदरगाह MemBus करने के लिए लिया है, एक घटना एग्रीगेटर मैं बनाए रखने, विंडोज क्रम दुनिया के लिए:विंडोज रनटाइम विधियां सामान्य नहीं हो सकती हैं - कारण, कामकाज, विकल्प?
"error WME1031: '
MemBus.ISubscriber.Subscribe<M>(System.Action<M>)
' is a generic method. Windows Runtime methods cannot be generic."
:
public interface ISubscriber
{
IDisposable Subscribe<M>(Action<M> subscription);
#if WINRT
[Windows.Foundation.Metadata.DefaultOverload]
#endif
IDisposable Subscribe(object subscriber);
IObservable<M> Observe<M>();
}
क्या मैं हो रही है एक संकलक त्रुटि है मुझे केवल संदेह है कि ऐसा क्यों है, अगर कोई स्पष्टीकरण दे सकता है, तो कृपया करें।
मेरा मुख्य प्रश्न है: विंडोज रनटाइम पर कोड पोर्ट करते समय हमें इसका सामना कैसे करना चाहिए?
जेनिक्स के साथ बहुत अधिक स्तर की कार्यक्षमता होती है। वास्तव में, हम विंडोज रनटाइम में सामान्य कक्षाओं का उपयोग करते हैं (उदा। List<T>
)। आरटी घटक जेनेरिक प्रकारों का पर्दाफाश करने के लिए कैसे माना जाता है, और यदि नहीं, तो .NET 1.1 कोड लिखने के तरीकों पर वापस जाने का एकमात्र विकल्प उपलब्ध है, यानी ऑब्जेक्ट, ऑब्जेक्ट आउट और कैस्ट्स?
मैं इसे एक उत्तर के रूप में चिह्नित कर रहा हूं, क्योंकि मैं पोर्टिंग के बारे में सोच रहा था। एक .NET लाइब्रेरी को पोर्ट करते समय मुख्य रूप से अन्य .NET भाषाओं द्वारा उपभोग किया जाने वाला था, ऐसा लगता है कि सी # dev को लक्षित करने के लिए स्वयं को सीमित करने और कई वर्षों तक सी # देव को ज्ञात कई संरचनाओं को बनाए रखने के पक्ष में सी ++/जावास्क्रिप्ट समर्थन छोड़ने का अर्थ लगता है। जब नए विकास की बात आती है, तो जवाब अलग-अलग हो सकता है। – flq