Type.GetProperties()
के साथ बेस-क्लास के निजी गुण/विधि प्राप्त करें, आप अपनी वर्तमान कक्षा के सभी गुणों और बेस-क्लास के public
गुणों को पुनर्प्राप्त कर सकते हैं। क्या बेस-क्लास के private
गुणों को भी प्राप्त करना संभव है?प्रतिबिंब
धन्यवाद
class Base
{
private string Foo { get; set; }
}
class Sub : Base
{
private string Bar { get; set; }
}
Sub s = new Sub();
PropertyInfo[] pinfos = s.GetType().GetProperties(BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Instance | BindingFlags.Static);
foreach (PropertyInfo p in pinfos)
{
Console.WriteLine(p.Name);
}
Console.ReadKey();
यह केवल "बार" प्रिंट होगा क्योंकि "फू" आधार वर्ग और निजी में है। आधार प्रकार के माध्यम से
PropertyInfo[] props = someType.BaseType.GetProperties(
BindingFlags.NonPublic | BindingFlags.Public
| BindingFlags.Instance | BindingFlags.Static)
इसके अतिरिक्त, बेस प्रकार (प्रकार = प्रकार। बेसटाइप) के माध्यम से फिर से शुरू करना संभव है, टाइप तक। बेसटाइप पूरी तस्वीर पाने के लिए शून्य है। –
दुर्भाग्य से यह बेस क्लास के निजी गुणों के लिए काम नहीं करता है। केवल विरासत में जनता के लिए और संरक्षित – Fabiano
@ फ़ोबियानो - गैर-सार्वजनिक में निजी शामिल है। –