এই প্রশ্নে নিম্নলিখিত কোড এবং প্রদত্ত পরামর্শগুলি দেওয়া , আমি এই মূল পদ্ধতিটি সংশোধন করার সিদ্ধান্ত নিয়েছি এবং জিজ্ঞাসা করি যে কোনও মান সহ একটি মূল্যবান ফিরিয়ে না দিলে, এই মূল্যবান ফিরিয়ে দিতে কোনও মান রয়েছে কিনা তা জিজ্ঞাসা করব।
পদ্ধতিটি এখানে:
public IEnumerable<Friend> FindFriends()
{
//Many thanks to Rex-M for his help with this one.
//https://stackoverflow.com/users/67/rex-m
return doc.Descendants("user").Select(user => new Friend
{
ID = user.Element("id").Value,
Name = user.Element("name").Value,
URL = user.Element("url").Value,
Photo = user.Element("photo").Value
});
}
যেহেতু সবকিছুই রিটার্ন স্টেটমেন্টের ভিতরে থাকে তাই আমি জানি না যে আমি এটি কীভাবে করতে পারি। এই কাজ ভালো কিছু কি?
public IEnumerable<Friend> FindFriends()
{
//Many thanks to Rex-M for his help with this one.
//https://stackoverflow.com/users/67/rex-m
if (userExists)
{
return doc.Descendants("user").Select(user => new Friend
{
ID = user.Element("id").Value,
Name = user.Element("name").Value,
URL = user.Element("url").Value,
Photo = user.Element("photo").Value
});
}
else
{
return new IEnumerable<Friend>();
}
}
উপরের পদ্ধতিটি কাজ করে না, এবং বাস্তবে এটি অনুমিত নয়; আমি কেবল অনুভব করি এটি আমার উদ্দেশ্যগুলি তুলে ধরে। আমি মনে করি যে কোডটি কাজ করে না বলে আমার উল্লেখ করা উচিত কারণ আপনি কোনও বিমূর্ত শ্রেণির উদাহরণ তৈরি করতে পারবেন না।
এখানে কলিং কোডটি রয়েছে, আমি চাই না যে এটি যে কোনও সময় শূন্যতম পরিমাণে পাওয়া যায়:
private void SetUserFriends(IEnumerable<Friend> list)
{
int x = 40;
int y = 3;
foreach (Friend friend in list)
{
FriendControl control = new FriendControl();
control.ID = friend.ID;
control.URL = friend.URL;
control.SetID(friend.ID);
control.SetName(friend.Name);
control.SetImage(friend.Photo);
control.Location = new Point(x, y);
panel2.Controls.Add(control);
y = y + control.Height + 4;
}
}
সময় দেয়ার জন্য ধন্যবাদ.