मुझे हाल ही में पता चला है कि सी # में structs के तरीके हो सकते हैं।एक स्थिर संरचना विधि और स्थैतिक वर्ग विधि के बीच क्या अंतर है?
काफी गलती से, मैंने खुद को एक स्थिर वर्ग की स्थैतिक विधि के बजाय अपने कोड में एक खाली संरचना की स्थिर विधि का उपयोग करने के लिए पाया है, जिसे मैंने सोचा था कि मैं काम कर रहा था!
उदा।
public struct Foo
{
public static void Bar(Param param)
{
...
}
}
यह वास्तव में इस बिंदु पर एक संरचना के रूप में उपयोग नहीं किया जा रहा है, क्योंकि इसमें कोई गुण नहीं है!
क्या यह कक्षा (स्थैतिक या अन्यथा) की स्थिर विधि का उपयोग करने से बहुत अलग है? क्या एक दूसरे को पसंद करने के कोई कारण हैं? (मेरे पेट मुझसे कहता है कि स्थिर struct विधि का उपयोग कम से कम, कम सहज में, है)
कक्षा 'स्थैतिक' घोषित करने के लिए कंपाइलर को परिवर्तनीय घोषणाओं में प्रकार के किसी भी उपयोग को ध्वजांकित करने या त्रुटियों के रूप में होने की अनुमति देने के अतिरिक्त जोड़ा गया है ('अमूर्त सीलबंद' पर)। –
@mikez वह भी, साथ ही त्रुटियों के रूप में किसी भी घटना सदस्य घोषणाओं को ध्वजांकित करना। – cdhowie
@ माइकज़ मुझे लगता है कि एक और महत्वपूर्ण भेद यह है कि 'अमूर्त सीलबंद वर्ग' केवल अमान्य सी # है। – svick