-using System;\r
-\r
-delegate object FactoryDelegate ();\r
-\r
-public class C\r
-{\r
- FactoryDelegate var;\r
- int counter;\r
-\r
- FactoryDelegate this [string s]\r
- {\r
- set { var = value; }\r
- get { return var; }\r
- }\r
-\r
- public void X ()\r
- {\r
- this ["ABC"] = delegate () {\r
- ++counter;\r
- Console.WriteLine ("A");\r
- return "Return";\r
- };\r
- }\r
-\r
- static int Main ()\r
- {\r
- C o = new C ();\r
- o.X ();\r
-\r
- Console.WriteLine ("B");\r
- Console.WriteLine (o ["ABC"] ());\r
- \r
- Console.WriteLine (o.counter);\r
- if (o.counter != 1)\r
- return 1;\r
-\r
- return 0;\r
- }\r
-}\r
+using System;
+
+delegate object FactoryDelegate ();
+
+public class C
+{
+ FactoryDelegate var;
+ int counter;
+
+ FactoryDelegate this [string s]
+ {
+ set { var = value; }
+ get { return var; }
+ }
+
+ public void X ()
+ {
+ this ["ABC"] = delegate () {
+ ++counter;
+ Console.WriteLine ("A");
+ return "Return";
+ };
+ }
+
+ public static int Main ()
+ {
+ C o = new C ();
+ o.X ();
+
+ Console.WriteLine ("B");
+ Console.WriteLine (o ["ABC"] ());
+
+ Console.WriteLine (o.counter);
+ if (o.counter != 1)
+ return 1;
+
+ return 0;
+ }
+}