एक प्रश्न का उत्तर this संदर्भित।क्या बाइनरीफॉर्मेटर सीरियलाइज और डिसेरियलाइज थ्रेड सुरक्षित है?
private static BinaryFormatter formatter = new BinaryFormatter();
public static T DeepClone<T>(this T a)
{
using(MemoryStream stream = new MemoryStream())
{
formatter.Serialize(stream, a);
stream.Position = 0;
return (T)formatter.Deserialize(stream);
}
}
तो निर्माण से परहेज (और GC'ing) प्रत्येक कॉल के लिए एक नया BinaryFormatter:
इस के रूप में लिखा जा सकता है?
यह कोड पथ बहुत बार हिट हो रहा है क्योंकि इसमें हमारी कैशिंग परत शामिल है और मैं इसे जितना संभव हो उतना हल्का बनाना चाहता हूं।
धन्यवाद।
अपरिवर्तनीय के लिए एक क्लासिक तर्क;) –