मैंने protobuf-net में विरासत सुविधा के बारे में कई प्रश्न पढ़े हैं। मुझे आश्चर्य है कि यदि मैं [ProtoContract], [ProtoMember] का उपयोग करने के समान तरीके से [DataContract], [DataMember] का उपयोग कर सकता हूं। मैं [ProtoInclude] का उपयोग करने के बजाय [KnowType] का उपयोग क्यों नहीं कर सका?मुझे [ProtoInclude] का उपयोग क्यों करना है?
मैं इस सवाल का मैं क्योंकि [DataContract] का इस्तेमाल किया [DataMember] Protobuf शुद्ध के क्रमांकन के लिए पहले से ही बढ़ा,। "प्रोटोबफ-नेट" जोड़ने की कोई आवश्यकता नहीं थी। यह केवल "सिस्टम। रनटाइम। क्रमबद्धता" का उपयोग करता था।
लेकिन ... अब अगर मेरी कक्षा की जरूरत कुछ वर्ग से प्राप्त करना, मैं जोड़ने के लिए "Protobuf-तंत्र" के लिए [ProtoInclude] विशेषता क्या है? उदाहरण के लिए,
using System.Runtime.Serialization;
namespace test
{
[DataContract]
/// [KnowType(typeof(SomeClass))]
/// or
/// [ProtoInclude(100,typeof(SomeClass))]
public class BaseClass
{
//...
[DataMember(Order=1)]
public string BlahBlahBlah {get; set;}
}
[DataContract]
public class ChildClass1 : BaseClass
{
//...
[DataMember(Order=1)]
public string BlahBlahBlah {get; set;}
}
}// end namespace
अंत में, मुझे आश्चर्य है कि अगर मैं 100 बच्चे वर्ग है, विल नहीं मैं अपने आप को पागल आधार वर्ग के अंदर 100 [ProtoInclude] टैग जोड़ने? किसी भी मदद
वी के लिए adv में
Thx
ध्यान दें कि यह अब v2 –
@Marc में सत्य नहीं है; अद्यतन के लिए Thx। मैं फिर v2 पर कोशिश करेंगे। – tong