मैं कुछ सी # नेट कोड लिख रहा हूं जो रजिस्ट्री में कुछ मान बचाता है। यह ठीक काम करता है जब तक कि मैं कुछ बाइनरी डेटा को सहेजना नहीं चाहता था।serializable ऑब्जेक्ट को .NET में रजिस्ट्री में सहेजें?
मैं एक List<MyType>
वस्तु है जहां MyType
इस तरह दिखता है:
List<MyType> objectToSaveInRegistry = getList();
RegistryKey registryKey = Registry.LocalMachine.OpenSubKey(MySpecialKey, true);
registryKey.SetValue("MySpecialValueName", objectToSaveInRegistry , RegistryValueKind.Binary);
त्रुटि है:
[Serializable] public class MyType
{
public string s {get;set;}
public string t {get;set;}
}
मैं निम्नलिखित कोड के साथ एक त्रुटि मिलती है मूल्य वस्तु के प्रकार के "किया निर्दिष्ट रजिस्ट्री ValueKind से मेल नहीं खाते या ऑब्जेक्ट को ठीक से परिवर्तित नहीं किया जा सका। "
मैं क्या कर सकता हूं ताकि मैं अपनी ऑब्जेक्ट को रजिस्ट्री में सहेज सकूं?
आप इसे रजिस्ट्री में क्यों सहेजना चाहते हैं। इसे एक XML फ़ाइल क्यों न बनाएं और इसे सेव न करें। –
@ श्रीनिवास, मेरी वस्तु में एक ऐसे अनुप्रयोग की कॉन्फ़िगरेशन के बारे में जानकारी है जो मैं विकसित कर रहा हूं। क्या Windows रजिस्ट्री एक ऐसा स्थान नहीं है जहां एप्लिकेशन सेटिंग्स सहेजी जा सकें? –
आप एक ऐसी विधि में सूची को पास करने का प्रयास कर रहे हैं जो अनिवार्य रूप से बाइट सरणी की अपेक्षा कर रहा है। आपको अपनी सूची को उस तरह के प्रतिनिधित्व में परिवर्तित करने की आवश्यकता होगी (या तो मेमोरीस्ट्रीम को क्रमबद्ध करके, या एक अलग धारावाहिक का उपयोग करके)। –
Joe