একটি এক্সপ্রেশন ট্রিতে orচ্ছিক আর্গুমেন্টগুলি ব্যবহার করে এমন কোনও কল বা প্রার্থনা নাও থাকতে পারে


145

একটি এক্সপ্রেশন ট্রিতে orচ্ছিক আর্গুমেন্টগুলি ব্যবহার করে এমন কোনও কল বা প্রার্থনা নাও থাকতে পারে

return this.RedirectToAction<MerchantController>(x => x.Edit(merchantId));

যেখানে সম্পাদনাটির একটি দ্বিতীয়, নল যুক্তি ছিল।

কেন?

উত্তর:


106

অন্তর্নিহিত অভিব্যক্তি গাছ এপিআই ঐচ্ছিক আর্গুমেন্ট সমর্থন করে না।

আইএল-সংকলিত কোডের জন্য সি # সংকলক সংকলনের সময় ডিফল্ট মান সন্নিবেশ করায় (হার্ড কোডড), কারণ সিআরআর eitherচ্ছিক আর্গুমেন্ট সহ কলিং পদ্ধতিগুলিকে সমর্থন করে না যখন তখন তর্কগুলি সুস্পষ্টভাবে সরবরাহ করা হয় না।


2
এটি কি কোনওভাবে ওভারলোডগুলি অন্তর্ভুক্ত করে? আমি যখন ওভারলোড করেছিলাম তখন এটি পেয়েছিলাম। অকার্যকর ব্লাহ (স্ট্রিং এ) এবং অকার্যকর ব্লাহ (অবজেক্ট এ) এর মতো কিছু। আমি যখন বস্তুর সাথে সংস্করণটিতে একটি কল করার চেষ্টা করেছি, তখন এটি আমাকে এই ত্রুটি দিয়েছে।
vbullinger

4
ওভারলোডগুলি সম্পূর্ণ এই অর্থে সমর্থিত হয় যে কোনও নির্দিষ্ট ওভারলোড গাছে কঠোরভাবে কোডড হবে।
usr

1
সুন্দর ক্রিপ্টিক ত্রুটি বার্তা, কিন্তু এই উত্তরটি উপায় দেখিয়েছে, আমার পদ্ধতিতে ডিফল্ট মান সহ alচ্ছিক প্যারামিটারটি উপহাস করার চেষ্টা করছে।
ভিপ্লামু

140

একাধিক ডিফল্ট পরামিতি সহ কোনও পদ্ধতিকে উপহাস করার জন্য মক.সেটআপ ব্যবহার করার চেষ্টা করার সময় একই বার্তা ছিল। আমাকে কেবল ল্যাম্বডায় অতিরিক্ত পরামিতি যুক্ত করতে হয়েছিল।

void someMethod(string arg1 = "", string arg2 = "")

mockedObject.Setup(x => x.someMethod(It.IsAny<string>(), It.IsAny<string>()))

1
এটি আমাকে সাহায্য করেছিল। আমি অনুপস্থিত ছিল It.IsAny<object>। মূলত আমি someMethod()
প্যাকামিটি

আমাকেও নিশ্চিত করতে হয়েছিল যে আমি পদ্ধতিতে প্রতিটি প্যারামিটারের জন্য মানগুলি অন্তর্ভুক্ত করেছি (পদ্ধতি স্বাক্ষরের বেশ কয়েকটি পরামিতি সত্ত্বেও ডিফল্ট মান সেট করা আছে)।
স্ল্যাশবার্ন

1
ব্যবহারের ক্ষেত্রেও নির্ভর করে ... x.someMethod(default,default)... ব্যবহার করা যেতে পারে।
লসম্যানোস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.