यदि आप अनियंत्रित __arglist
और __refvalue
कीवर्ड सी # में कीवर्ड का उपयोग करने के इच्छुक हैं, तो आप कर सकते हैं।
सावधानी: undocumented सुविधाओं सी # के भविष्य के संस्करणों में परिवर्तन के अधीन हैं। इन कीवर्ड का केवल तभी उपयोग करें जब आपको यह समझना पड़े कि आपका कोड काम करना बंद कर सकता है यदि माइक्रोसॉफ्ट अगले संस्करण में अपना व्यवहार बदलता है।
उदाहरण के लिए, निम्नलिखित कार्यक्रम GetRandomValues
विधि के संदर्भ द्वारा तीन int
चर गुजरता है। यह 2, 1, और 4 आउटपुट करता है, यह दर्शाता है कि चर सफलतापूर्वक संशोधित किए गए थे।
static void Main()
{
int x = 0, y = 0, z = 0;
GetRandomValues(__arglist(ref x, ref y, ref z));
Console.WriteLine(x);
Console.WriteLine(y);
Console.WriteLine(z);
}
static void GetRandomValues(__arglist)
{
Random random = new Random(1);
ArgIterator iterator = new ArgIterator(__arglist);
while (iterator.GetRemainingCount() > 0)
{
TypedReference r = iterator.GetNextArg();
__refvalue(r, int) = random.Next(0, 10);
}
}
स्रोत
2012-10-22 02:46:34