2011-03-15 24 views
6

मैं यहाँ कुछ के साथ संघर्ष कर रहा हूं, क्या उचित है यह जांचने के लिए कि XmlSchemaParticle कोई EmptyParticle है या नहीं?यह जांचने का कोई तरीका है कि XmlSchemaParticle एक खाली पट्टी है या नहीं?

XmlSchemaParticle.EmptyParticleXmlSchemaParticle का एक निजी आंतरिक वर्ग प्रतीत होता है।

मैं अभी क्या कर रहा हूं particle.GetType().Name == "EmptyParticle" है और मुझे यह बदसूरत लगता है।

कोई अन्य विकल्प?

उत्तर

1

मुझे लगता है कि आपको खाली होने के लिए MaxOccurs == 0 पर विचार करना चाहिए।

+0

ठीक है तो मैं उस 'एम्प्टीपार्टिकल' वर्ग के उद्देश्य को समझ नहीं पा रहा हूं। –

+0

'खाली पट्टी' गैर-सार्वजनिक रूप से स्पष्ट रूप से इसका अर्थ है कि यह बाहरी उपयोग के लिए नहीं है। जो कुछ भी वे करते हैं (या नहीं करते) आंतरिक रूप से 'XmlSchemaParticle' के उपयोगकर्ताओं द्वारा जानना नहीं है। – joce

+0

उन्हें उस प्रकार का कुछ वापस नहीं लौटना चाहिए, तो आपको नहीं लगता? –

1

आज मैं एक ही समस्या में भाग गया। मैं XmlSchemaComplexType.ContentType संपत्ति की जाँच करके उसके चारों ओर पाने के लिए कर रहा था:

public bool HasEmptyParticle(XmlSchemaComplexType type) 
{ 
    return type.ContentTypeParticle != null && type.ContentType == XmlSchemaContentType.Empty; 
} 
+0

मुझे लगता है कि आप जवाब सही हैं ... ish, क्योंकि यह पूरा नहीं हुआ है - एक खाली कण भी 'XmlSchemaContentType.TextOnly' के लिए वापस आ गया है। – Grx70

0

मैं जानता हूँ कि यह पुराना है, लेकिन क्या अगर आप की जाँच करता है, तो ContentTypeParticle सार्वजनिक नहीं था।

हैं (! Type.ContentTypeParticle.GetType()। IsPublic) {

}

मैं आप विशेष रूप से खाली करने के लिए परीक्षण कर रहे हैं पता है, लेकिन हम चाहते हैं कि एक आंतरिक/निजी धारणा के तहत जा सकते हैं वस्तु प्रकार खाली दर्शाता है?

+0

यह 'particle.GetType() नाम से गंदे है। नाम == "खाली पट्टी" - यह भी (और निश्चित रूप से) सादा गलत हो सकता है। मुझे कुछ भी नहीं बताता है कि 'एम्प्टीपार्टिकल' एकमात्र निजी कण प्रकार है। –

+0

यह सच है। बस एक आंतरिक वर्ग के नाम से परीक्षण से बचने की कोशिश कर रहा है, जो सैद्धांतिक रूप से बदल सकता है। बिल्कुल सही नहीं है। – Jeremy

संबंधित मुद्दे

 संबंधित मुद्दे