मैं तो मैं कह सकता हूँ कि विस्तार तरीकों लिखने के लिए सक्षम होना चाहते हैं:मूल वस्तु को बदलने के लिए मुझे विस्तार विधि कैसे प्राप्त हो सकती है?
lines.ForceSpaceGroupsToBeTabs();
बजाय
:
lines = lines.ForceSpaceGroupsToBeTabs();
हालांकि, निम्नलिखित कोड वर्तमान आउटपुट:
....one
........two
के बजाय:
Tone
TTtwo
क्या मैं निम्नलिखित कोड में बदलने के लिए है यह उत्पादन बनाने के लिए:
Tone
TTtwo
(ध्यान दें दृश्यता के लिए कि, . = space, T = \t
):
using System;
using System.Collections.Generic;
namespace TestExtended82343
{
class Program
{
static void Main(string[] args)
{
List<string> lines = new List<string>();
lines.Add("....one");
lines.Add("........two");
lines.ForceSpaceGroupsToBeTabs();
lines.ForEach(l => Console.WriteLine(l));
Console.ReadLine();
}
}
public static class Helpers
{
public static void ForceSpaceGroupsToBeTabs(this List<string> originalLines)
{
string spaceGroup = new String('.', 4);
List<string> lines = new List<string>();
foreach (var originalLine in originalLines)
{
lines.Add(originalLine.Replace(spaceGroup, "T"));
}
originalLines = lines;
}
}
}
दरअसल। आप "विस्तारित" संदर्भित ऑब्जेक्ट को स्विच नहीं कर सकते हैं, लेकिन आप किसी की सामग्री को बदल सकते हैं –