का उपयोग करते समय शून्य संदर्भों को संभालना क्या है (उदाहरण के लिए) शून्य संदर्भों के लिए एक बेहतर/छोटा तरीका है, उदाहरण के लिए जब मैं LinqToXML का उपयोग कर रहा हूं।जैसे कि लिंक-टू-एक्सएमएल
मैंने XElement के लिए यह विस्तार लिखा है जो इसे काफी अच्छी तरह से संभालता है, लेकिन शायद एक और तरीका है?
और फ़ंक्शन नाम के बारे में क्या? "और" वास्तव में वर्णनात्मक नहीं है।
public static class XmlExtentions
{
public static T And<T>(this T obj, Func<T, T> action) where T : XElement
{
return obj == null ? obj : action(obj);
}
}
internal class Program
{
private static void Main()
{
//create example xml element
var x =
XElement.Parse("<root><find><name>my-name</name></find></root>");
//old way
var test1 = x.Element("find");
if (test1 != null) test1 = test1.Element("name");
Console.WriteLine(test1);
//using the extentions method
var test2 = x.Element("find").And(findme => findme.Element("name"));
Console.WriteLine(test2);
Console.ReadLine();
}
}
पीएस: मुझे पता है कि मैं इस उदाहरण के लिए XPath का उपयोग कर सकता हूं, लेकिन यह हमेशा अधिक जटिल मामलों में मामला नहीं है।
मैं पहला उदाहरण की तरह है, हालांकि मैं बस अपना कोड को संपादित कर सकता है "जहाँ करने के लिए टी : वर्ग "और लगभग एक ही परिणाम है। लेकिन अन्य प्रकारों को वापस करने की क्षमता एक अच्छा अतिरिक्त है! –