কোনও পদ্ধতিকে অপ্রচলিত বা অবচিত হিসাবে চিহ্নিত করবেন কীভাবে?


1002

আমি কীভাবে সি # ব্যবহার করে কোনও পদ্ধতিকে অপ্রচলিত বা অবহেলিত হিসাবে চিহ্নিত করব ?


এখানে একটি ইউটিউব ভিডিও রয়েছে যা অপ্রচলিত গুণাবলীর সমস্ত 3 প্রকারের ব্যাখ্যা দেয়: youtube.com/watch?v=_AQ5wsPnfJ4
শিবপ্রসাদ কৈরালা

3
এটিও ভুলে যাবেন না [EditorBrowsable(EditorBrowsableState.Never)]( স্ট্যাকওভারফ্লো . com / a / 9086345 / 661933 )। কিছুটা আলাদা উদ্দেশ্যে কাজ করে।
নওফাল

উত্তর:


1592

সংক্ষিপ্ততম উপায়টি হল পদ্ধতিরObsoleteAttribute একটি বৈশিষ্ট্য হিসাবে যুক্ত করে । একটি উপযুক্ত ব্যাখ্যা অন্তর্ভুক্ত নিশ্চিত করুন:

[Obsolete("Method1 is deprecated, please use Method2 instead.")]
public void Method1()
{  }

পদ্ধতিটি কোথাও কোথাও কোথাও যদি এইরকম কোড থেকে আহ্বান করা হয় তবে আপনি সতর্কতার পরিবর্তে ত্রুটি হিসাবে পদ্ধতির ব্যবহারকে চিকিত্সা করে সংকলনটি ব্যর্থ করতে পারেন:

[Obsolete("Method1 is deprecated, please use Method2 instead.", true)]

97
যদি কেউ এই পদ্ধতিটি ওভারলোডেড পদ্ধতিটি অপ্রচলিত (স্ট্রিং মেসেজ, বুল ত্রুটি) ব্যবহার করে
সংকলকটি

139
বিবরণ ছাড়াই অপ্রচলিত অপ্রচলিত হওয়া উচিত ... notherdev.blogspot.com/2013/02/obsolete-should-be-obsolete.html
dotjoe

31
আপনার উদাহরণগুলিতে "পদ্ধতি 1 অবমূল্যায়ন করা হয়েছে" অংশটি বরং অপ্রয়োজনীয়। এটিকে অপ্রচলিত হিসাবে চিহ্নিত করে আপনি বলছেন যে এটি সত্যই অচল, সুতরাং বার্তায় এটি পুনরায় চালু করার দরকার নেই। বিশেষত যেহেতু ফলস্বরূপ সতর্কতা / ত্রুটি 'মেথড 1' পড়বে তা অপ্রচলিত: 'পদ্ধতি 1 অবমূল্যায়ন করা হয়েছে, দয়া করে পরিবর্তে মেথড 2 ব্যবহার করুন' '
25:55

8
সেটা ঠিক আছে. আমি এখানে কিছু উদাহরণ পাঠিয়েছি যাতে দেখাতে আপনি আরও নির্দিষ্ট বার্তা যুক্ত করতে পারেন।
ক্রিস বাল্যান্স

14
@ akshay2000 পুনরায় নামকরণ বা পদ্ধতিটি মুছে ফেলার কারণে ভোক্তা কেন এটির নামকরণ বা অপসারণ করা হয়েছিল এবং এর পরিবর্তে কী ব্যবহার করা উচিত তা নির্বিঘ্নে ফেলে রাখবে।
লেন্সফ্লেয়ার

134

একটি সতর্কতা সহ অপ্রচলিত হিসাবে চিহ্নিত করতে:

[Obsolete]
private static void SomeMethod()

আপনি এটি ব্যবহার করার সময় আপনি একটি সতর্কতা পান:

অপ্রচলিত সতর্কতা দেখানো হয়েছে

এবং ইন্টেলিসেন্সের সাথে:

ইন্টেলিজেন্সের সাথে অপ্রচলিত সতর্কতা

আপনি যদি একটি বার্তা চান:

[Obsolete("My message")]
private static void SomeMethod()

এখানে ইন্টেলিসেন্স সরঞ্জাম টিপস:

ইন্টেলিজেন্স অপ্রচলিত বার্তাটি দেখায়

অবশেষে যদি আপনি ব্যবহারটিকে একটি ত্রুটি হিসাবে পতাকাঙ্কিত করতে চান:

[Obsolete("My message", true)]
private static void SomeMethod()

আপনি যখন এটি ব্যবহার করেন তখন তা পান:

পদ্ধতি ব্যবহার ত্রুটি হিসাবে প্রদর্শিত হয়

দ্রষ্টব্য: বার্তাগুলি তাদের পরিবর্তে কী ব্যবহার করা উচিত তা জানাতে ব্যবহার করুন, কেন এটি অপ্রচলিত নয়।


66

কীওয়ার্ডটি ব্যবহার করে পদ্ধতিটিতে একটি টীকা যুক্ত করুন Obsolete। বার্তার যুক্তি alচ্ছিক তবে আইটেমটি কেন এখন অপ্রচলিত এবং / বা পরিবর্তে কী ব্যবহার করবেন তা যোগাযোগ করার জন্য একটি ভাল ধারণা।
উদাহরণ:

[System.Obsolete("use myMethodB instead")]
void myMethodA()

35

সঙ্গে ObsoleteAttributeআপনি যা করতে পারেন অবচিত পদ্ধতি দেখানোর জন্য। অপ্রচলিত বৈশিষ্ট্যের তিনটি নির্মাতা রয়েছে:

  1. [Obsolete]: একটি প্যারামিটার নির্মাতা এবং এই বৈশিষ্ট্যটি ব্যবহার করে এটি একটি ডিফল্ট।
  2. [Obsolete(string message)]:এই ফর্ম্যাটটিতে আপনি messageকেন এই পদ্ধতিটিকে অবমূল্যায়ন করা যেতে পারেন।
  3. [Obsolete(string message, bool error)]:এই বিন্যাসে বার্তাটি খুব সুস্পষ্ট তবে এর errorঅর্থ, সংকলনের সময়, সংকলক অবশ্যই ত্রুটি দেখিয়েছে এবং সংকলনটি ব্যর্থ হয়েছে বা না করতে পারে।

এখানে চিত্র বর্ণনা লিখুন

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