সি # তে কোনও বস্তু সিরিয়ালযোগ্য কিনা তা পরীক্ষা করার জন্য আমি একটি সহজ উপায় সন্ধান করছি।
যেমনটি আমরা জানি যে আপনি হয় ইরিশরিজযোগ্য ইন্টারফেস বাস্তবায়ন করে বা [সিরিয়ালাইজযোগ্য] শ্রেণীর শীর্ষে রেখে কোনও অবজেক্টকে সিরিয়ালাইজ করতে সক্ষম করেছেন ।
আমি যা খুঁজছি তা হল ক্লাসটির বৈশিষ্ট্যগুলি প্রতিফলিত না করে এটি পরীক্ষা করার দ্রুত উপায়। ইন্টারফেসটি একটি ইস স্টেটমেন্ট ব্যবহার করে দ্রুত হবে ।
@ ফ্লার্ডের পরামর্শটি ব্যবহার করে এই কোডটি আমি এনেছি, চিৎকার করার আরও ভাল উপায় আছে।
private static bool IsSerializable(T obj)
{
return ((obj is ISerializable) || (Attribute.IsDefined(typeof (T), typeof (SerializableAttribute))));
}
বা আরও ভাল কেবল অবজেক্টের ধরণটি পান এবং তারপরে এই ধরণের ইসেরাইরিজেবল সম্পত্তি ব্যবহার করুন:
typeof(T).IsSerializable
মনে রাখবেন যদিও এটি কেবলমাত্র ক্লাসটিকেই মনে হচ্ছে যা আমরা কেবল সেই শ্রেণীর সাথেই আচরণ করছি যা যদি ক্লাসে অন্যান্য ক্লাস থাকে তবে আপনি সম্ভবত তাদের সমস্ত পরীক্ষা করতে বা সিরিয়ালাইজ করতে চান এবং @ পিবি নির্দেশিত হিসাবে ত্রুটির জন্য অপেক্ষা করতে চান।