मेरे पास कुछ निजी और सार्वजनिक क्षेत्रों और संपत्तियों वाला एक वर्ग है।
[MessagePackObject(false)]
public class Person
{
[Key(1)]
public string Name { get; set; }
[IgnoreMember]
private int _age;
[Key(2)]
public int Age { get { return _age; } set { _age = value; } }
}
कुछ मामलों में मुझे Age
को क्रमबद्ध करने की आवश्यकता नहीं है, मुझे केवल कुछ क्षेत्रों को क्रमबद्ध करने की आवश्यकता है (उदाहरण के लिए केवल Name
)। तो मुझे सभी ऑब्जेक्ट को क्रमबद्ध करने और आंशिक क्रमबद्ध करने के लिए 2 विधियों की आवश्यकता है। मैं इसे कैसे व्यवस्थित कर सकता हूं?
1 उत्तर
मेरे अपने प्रश्न का उत्तर।
मुझे मिला एकमात्र समाधान Name
को बेस क्लास BasePerson
में स्थानांतरित करना है। मैं ऑब्जेक्ट को BasePerson
के रूप में क्रमबद्ध करूंगा और फिर बाइट्स को Person
[MessagePackObject(false)]
public class BasePerson
{
[Key(1)]
public string Name { get; set; }
}
[MessagePackObject(false)]
public class Person
{
[IgnoreMember]
private int _age;
[Key(2)]
public int Age { get { return _age; } set { _age = value; } }
}
उपयोग:
Person person = new Person()
{
Name = "Gor",
Age = 26
};
var serializedBytes = MessagepackSerializer.Serialize<BasePerson>(person);
// will give me person with `Name` "Gor" and `Age` 0 (default value of int)
var personWithoutAge = MessagepackSerializer.Deserialize<Person>(serializedBytes );
संबंधित सवाल
नए सवाल
c#
C # (उच्चारण "तेज देखें") Microsoft द्वारा विकसित एक उच्च स्तरीय, सांख्यिकीय रूप से टाइप किया हुआ, बहु-प्रतिमान प्रोग्रामिंग भाषा है। C # कोड आमतौर पर Microsoft के .NET परिवार के टूल और रन-टाइम को लक्षित करता है, जिसमें .NET फ्रेमवर्क, .NET कोर और Xamarin अन्य शामिल हैं। C # या C # के औपचारिक विनिर्देश में लिखे गए कोड के बारे में प्रश्नों के लिए इस टैग का उपयोग करें।
int?
का उपयोग कर सकते हैंint
मान का उपयोग करना चाहता हूं। अक्रमांकन के बाद आयु 0 हो सकती है।int?
को क्रमबद्ध कर सकते हैं, और जनता को जो भी मूल्य चाहते हैं, यानी_age ?? 0
को डिफ़ॉल्ट करने दें