मुझे कक्षा में जिस क्रम में घोषित किया गया है, उसमें प्रतिबिंब का उपयोग करके सभी गुण प्राप्त करने की आवश्यकता है। MSDN के अनुसार उपयोग करते समय आदेश की गारंटी नहीं दी जा सकती हैGetProperties()
GetProperties विधि एक विशेष क्रम में गुण नहीं लौटाती है, जैसे कि वर्णमाला या घोषणा क्रम।
लेकिन मैंने पढ़ा है कि गुणों को क्रम में रखकर वर्कअराउंड है MetadataToken
। तो मेरा सवाल यह है कि क्या यह सुरक्षित है? मुझे लगता है कि इसके बारे में MSDN पर कोई जानकारी नहीं मिल सकती। या इस समस्या को सुलझाने का कोई और तरीका है?
मेरा वर्तमान कार्यान्वयन निम्नानुसार है:
var props = typeof(T)
.GetProperties(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic)
.OrderBy(x => x.MetadataToken);