मैं एक अनाम प्रकार कैसे लौटा सकता हूं जो फ़ील्ड पैरामीटर पर निर्भर करता है जिसमें अज्ञात प्रकार में शामिल गुणों को सूचीबद्ध किया गया है? कार्य इकाई में 20 से अधिक गुण हैं, और ग्राहक गुणों के विभिन्न संयोजन प्राप्त करना चाहते हैं।कस्टम अनाम प्रकार कैसे लौटाते हैं?
public class Test
{
public class Task
{
public int Id { get; set; }
public string Name { get; set; }
public string Description { get; set; }
//... more 20 properties
}
public List<Task> Tasks = new List<Task>();
public Test()
{
Tasks.Add(new Task { Id = 1, Name = "Task #1", Description = "Description task #1" });
Tasks.Add(new Task { Id = 2, Name = "Task #2", Description = "Description task #2" });
Tasks.Add(new Task { Id = 3, Name = "Task #3", Description = "Description task #3" });
}
public IEnumerable<object> GetAllTasks(string fields)
{
//if fields == 'Id,Name' then return anonymous type new { Id = t.Id, Name = t.Name }
return Tasks.Select(t => new { Id = t.Id, Name = t.Name });
//if fields == 'Id,Name,Description' then return anonymous type new { Id = t.Id, name = t.Name, Description = t.Description }
return Tasks.Select(t => new { Id = t.Id, Name = t.Name, Description = t.Description });
}
}
बेनामी प्रकार संकलन प्रकार में जाना जाता है। आप रनटाइम पर गतिशील रूप से प्रकार बनाना चाहते हैं। यह काफी अलग है। इसका मतलब यह भी है कि 'GetAllTasks' के उपभोक्ता गतिशील प्रकारों से निपटने में सक्षम होना चाहिए। इसके अलावा, गुमनाम प्रकारों को वापस करने की अनुशंसा नहीं की जाती है। –
आपने क्लास टास्क को परिभाषित किया है, आप अनाम प्रकार के बजाय इसका उपयोग क्यों नहीं करते? –
आप कार्य ऑब्जेक्ट – glosrob