কম্পিউটার টিউটোরিয়াল

C#-তে মেথড ডিপ্রিকেট (Obsolete) করা

Obsolete Attribute ক্লাস, মেথড, প্রপার্টি, ফিল্ড, ডেলিগেট ইত্যাদিকে ডিপ্রিকেট বা প্রচলনবাহিত চিহ্নিত করতে ব্যবহৃত হয়। কম্পাইলার কম্পাইল টাইমে এটি পড়ে ডেভেলপারকে সতর্কতা (warning) বা ত্রুটি (error) দেখায়।

কেন ব্যবহার করবেন?

  • পুরানো মেথড বাদ দিয়ে নতুন ভার্সন ব্যবহার করতে বাধ্য করা
  • মাইগ্রেশন সময় পูর্নি কোড সাপোর্ট রাখতে
  • ভবিষ্যতে রিমুভ হবearen সিগন্যাল দেওয়া

Obsolete অ্যাট্রিবিউটের কনস্ট্রাক্টর

উদাহরণ

using System;

namespace DemoApplication {
    class Demo {
        static void Main(string[] args) {
            ObsoleteMethod();                    // Warning
            ObsoleteMethodWithMessage();         // Warning with message
            ObsoleteMethodWithMessageAndNoFail(); // Warning with message
            ObsoleteMethodWithMessageAndFail();  // **ERROR** - কম্পাইল ফেলবে
            
            Console.ReadLine();
        }
        
        [Obsolete]
        public static void ObsoleteMethod() { }
        
        [Obsolete("এই মেথড প্রচলনবাহিত, নতুন UseNewMethod() ব্যবহার করুন")]
        public static void ObsoleteMethodWithMessage() { }
        
        [Obsolete("এই মেথড প্রচলনবাহিত", false)]
        public static void ObsoleteMethodWithMessageAndNoFail() { }
        
        [Obsolete("এই মেথড প্রচলনবাহিত, ব্যবহার করবেন না", true)]
        public static void ObsoleteMethodWithMessageAndFail() { }
        
        // নতুন মেথড
        public static void UseNewMethod() { }
    }
}

Visual Studio-তে আউটপুট:

// Warning CS0618: 'Demo.ObsoleteMethod()' is obsolete
// Warning CS0618: 'Demo.ObsoleteMethodWithMessage()' is obsolete: 'এই মেথড প্রচলনবাহিত...'
// Warning CS0618: 'Demo.ObsoleteMethodWithMessageAndNoFail()' is obsolete: 'এই মেথড প্রচলনবাহিত'
// Error CS0618: 'Demo.ObsoleteMethodWithMessageAndFail()' is obsolete: 'এই মেথড প্রচলনবাহিত, ব্যবহার করবেন না'

বেস্ট প্র্যাকটিস

  • মেসেজে বিকল্প মেথডের নাম উল্লেখ করুন
  • প্রথমে false (warning) দিয়ে রিলিজ করুন, পরের ভার্সনে true (error) করুন
  • লাইব্রেরি লেখার সময় বাধ্যতামূলকভাবে ব্যবহার করুন
  • [Obsolete("Use NewMethod instead", DiagnosticId = "MYLIB001", UrlFormat = "https://docs.example.com/{0}")] (C# 7+/ .NET 5+) — ডকুমেন্টেশন লিঙ্ক যোগ করা যায়
  1. আইপ্যাড স্টাইলাস তৈরির উপায়

  2. ডিসকর্ড বট (Discord Bot) তৈরির পদ্ধতি

  3. মাইক্রোসফ্ট ওয়ার্ডে প্রফেশনাল বুকলেট তৈরি করুন: ধাপে ধাপে গাইড

  4. আপনার মাইক্রোসফট অ্যাকাউন্ট তৈরি করুন: ধাপে ধাপে গাইড

কপিরাইট © https://bd.wsxdn.com সমস্ত অধিকার সংরক্ষিত
সিনট্যাক্সবিবরণ
[Obsolete]ডিফল্ট, শুধু সতর্কতা (warning)
[Obsolete("message")]কাস্টম মেসেজসহ সতর্কতা
[Obsolete("message", true)]মেসেজসহ কম্পাইল ত্রুটি (error)
[Obsolete("message", false)]মেসেজসহ সতর্কতা (false = error নয়)