2012-07-19 22 views
6

मैं मेट्रिक टन प्रकार के साथ मेरी असेंबली के खिलाफ sgen चलाता हूं। मैं serialization से 2 प्रकार को बाहर करना चाहता हूँ। मुझे ऐसा करने का कोई तरीका नहीं मिल रहा है।क्रमबद्धता से विशिष्ट प्रकारों को कैसे बाहर निकालना है?

मुझे लगता है कि sgen में /type स्विच एक विशिष्ट प्रकार निर्दिष्ट करने के लिए स्विच है, लेकिन किसी विशिष्ट प्रकार को बाहर करने के लिए कुछ भी नहीं है।

क्या सीरियलाइजेशन से विशिष्ट प्रकारों को बाहर करने का कोई तरीका है?

+0

शायद मुझे आपका प्रश्न समझ में नहीं आया, लेकिन 'sgen' केवल serialization असेंबली उत्पन्न करता है। वहां दो और कक्षाएं होने में समस्या क्या है? –

उत्तर

-3

यह सुनिश्चित नहीं है कि आप इसकी तलाश कर रहे हैं लेकिन आप कक्षा परिभाषा से पहले [NonSerialized] का उल्लेख करके धारावाहिकरण से अपने स्वयं के वर्गों को बाहर कर सकते हैं। तो अगर आप एक विशिष्ट प्रकार के बाहर करना चाहते हैं तो आप इसे से विरासत और अपने खुद के वर्ग बनाने के लिए प्रकार आप एक अलग विधानसभा में बाहर रखना चाहते हैं डालने से

[NonSerialized] 
public class Point 
{ 
    public int x, y; 
} 
+2

यह कोड संकलित नहीं होना चाहिए, क्योंकि 'NonSerialized' विशेषता का केवल लक्ष्य फ़ील्ड हैं। – tm1

+1

त्रुटि विशेषता 'NonSerialized' इस घोषणा प्रकार पर मान्य नहीं है। यह केवल 'फ़ील्ड' घोषणाओं पर मान्य है। –

1

अलावा होगा, आप serializer से प्रकार बाहर नहीं कर सकते पीढ़ी।

0

आप क्लास को internal के रूप में चिह्नित करके कक्षाओं की पहुंच को बदलने का प्रयास कर सकते हैं, तो sgen.exe को उस वर्ग को छोड़ना चाहिए।

internal class NotToBeSerialized 
{ 
    ... 
}