VS 2012
প্রকল্পের ধরণের সাথে সংকলিত , ডিবাগারটি WP 8.0
সংযুক্ত না করা থাকলে নিম্নলিখিত কোডটি ব্যর্থ হবে।
একরকম, যদি ডিবাগারটি সংযুক্ত না থাকে তবে সংকলক অপ্টিমাইজেশনগুলি কোডটির ভিতরে নষ্ট করে দেয় Crash()
- কোডে মন্তব্যগুলি দেখুন।
লুমিয়া 1520 (8.1) এবং লুমিয়া 630 (8.0) এ পরীক্ষিত ।
কোন ধারণা কেন এটি ঘটছে?
public partial class MainPage : PhoneApplicationPage
{
public MainPage()
{
InitializeComponent();
Button.Tap += (sender, args) => new A<B, string>(new B(), "string").Crash();
}
}
public class B
{
public void Foo<T>(T val) { }
}
public class A<T1, T2> where T1 : B
{
private T1 _t1;
private T2 _t2;
public A(T1 t1, T2 t2)
{
_t2 = t2;
_t1 = t1;
}
public void Crash()
{
var obs = Observable.Return(_t2);
obs.Subscribe(result =>
{
//CLR is expecting T2 to be System.String here,
//but somehow, after passing through Observable
//T2 here is not a string, it's A<T1, T2>
new List<T2>().Add(result);
});
//Will run normally if commented
_t1.Foo(new object());
}
}
6
কোনও সংকলক বাগের মতো মনে হয়, কোনও আরএক্স বাগ নয়। উত্পন্ন আইএল পরীক্ষা করার জন্য আপনি কি আইএলএসপি বা। নেট প্রতিবিম্বকে ব্যবহার করার চেষ্টা করেছেন?
—
ব্র্যান্ডন
আমি
—
cwharris
Observable.Return<T2>(_t2);
এখানে টাইপটি ঠিক করার জন্য এটি সংকলকটির কাছে রেখে দিয়ে ব্যবহার করার চেষ্টা করব । সেই সাথে একটি বাগ থাকতে পারে। মঞ্জুর, এটি একটি দীর্ঘ শট।
উইন্ডোজ ফোনে আরএক্সের সাথে আমার প্রচুর সমস্যা হয়েছিল। আমার জন্য, এটি সংকলন করবে, তারপরে একটি নিক্ষেপ করুন
—
ম্যাথু হগেন
MethodNotFoundException
যখন আমি আসলে ধারণক্ষম শ্রেণিকে কল করার চেষ্টা করেছি। আমার জন্য, ভিএস আপডেট 2 এর প্রকাশ সংস্করণে আপগ্রেড করার কাজ হয়েছে। আসলে কী কী ছিল তা আমার এখনও ধারণা নেই তবে আপনি নিশ্চিত হয়ে নিন যে আপনি সব কিছুর সর্বশেষ আপডেট ব্যবহার করছেন। স্পষ্টতই আমাদের সমস্যাগুলি কিছুটা আলাদা তবে এটি কিছু দিকনির্দেশনা leণ দিতে পারে।
প্রশ্নটি কী - 'কোনও ধারণা?' - আপনি কীভাবে এটি ক্র্যাশ হওয়া বন্ধ করার জন্য কীভাবে জানতে চান তা জানতে চান?
—
টিম লাভল-স্মিথ
হতে পারে কারণ _t1.Foo <এখানে প্রকারের অনুপস্থিত> (এবং এখানেও);
—
আকবর আলি