करने के लिए पोर्ट माइकल Damatov के जवाब (सी #)
जो Herfried लालकृष्ण वैगनर पर आधारित है। (वीबीएनईटी) यहां सी ++/सीएलआई संस्करण है:
ref class MyClass
{
ref class StaticFinalizer sealed
{
!StaticFinalizer();
};
static initonly StaticFinalizer^ stDestr = gcnew StaticFinalizer();
}
MyClass::StaticFinalizer::!StaticFinalizer()
{
System::Diagnostics::Debug::WriteLine("In StaticFinalizer!");
}
पीएस AppDomain.ProcessExit विधि की तरह, इस प्रक्रिया को असामान्य रूप से समाप्त कर दिया गया है (उदाहरण के लिए कार्य प्रबंधक से)। सावधानी का एक और शब्द यह है कि यदि MyClass सामान्य (templated) है, तो धारणा है कि इसके स्थिर कन्स्ट्रक्टर और स्थैतिक विनाशक को प्रति आवेदन निष्पादन एक बार से अधिक नहीं कहा जाएगा अब वैध नहीं है।
स्रोत
2014-07-31 20:03:23
पहले, सी # में, हम दूसरे शब्दों में finalizer और नाशक का उपयोग कर की आदत से बाहर निकलने की जरूरत है। एक निर्धारक है, दूसरा नहीं है। यह ध्यान रखना दिलचस्प है कि सी # स्पेक सीएलआर और अन्य .NET भाषा चश्मे से पिछड़े शब्दों को प्राप्त करता है।यह भी दिलचस्प है कि सी # भाषा समिति के नोट स्पष्ट रूप से कहते हैं कि सी # में स्थिर फाइनल नहीं होने के कारण कोई पूर्व कारण नहीं हैं। http://stackoverflow.com/a/1875149/56793 – JMD