मैं कुछ वर्गों को क्रमबद्ध करने के लिए Protobuf.net का उपयोग कर रहा हूं। मैं बेस क्लास पर [ProtoInclude] निर्दिष्ट किए बिना सुपरहिरो क्लास (नीचे) को क्रमबद्ध करने में सक्षम होना चाहता हूं। ऐसा इसलिए है क्योंकि व्युत्पन्न कक्षाएं स्वचालित रूप से जेनरेट की जाती हैं लेकिन आधार वर्ग नहीं है, इसलिए बेस क्लास सीधे अपने व्युत्पन्न वर्गों के बारे में नहीं जानता है।Protobuf.net: विरासत को संभालने के लिए कैसे करें [ProtoInclude]
[ProtoContract]
class Person
{
[ProtoMember(1)]
public int Id { get; set; }
[ProtoMember(2)]
public string Name { get; set; }
}
[ProtoContract]
class SuperHero : Person
{
[ProtoMember(3)]
public string Powers { get; set; }
}
मैं protobuf.net का नवीनतम संस्करण उपयोग कर रहा हूं।
"कुछ तंत्र" का उपयोग किया गया था जो 'प्रोटोकंट्रैक्ट एट्रिब्यूट' का एक कस्टम संस्करण बनाने के लिए विशेषता प्रसंस्करण कोड के बराबर है ताकि मैं एक व्युत्पन्न वर्ग को '[Pr otoContract (7)] 'जो मूल वर्ग को सजाने के समान ही व्यवहार करेगा' [ProtoInclude (typeof (SuperHero), 7)] '। तथ्य यह है कि विशेषताएं 'मुहरबंद' हैं, हालांकि दुर्भाग्यपूर्ण है। –
बहुत तेज़ प्रतिक्रिया के लिए धन्यवाद! यह मेरे लिए चीजों को अच्छी तरह से साफ़ करता है। –