| class X : Y { |
| bool Method (int argument_1, int argument_2) |
| { |
| #region something |
| int foo = 0; |
| #endregion |
| |
| if (argument_1 == argument_2) |
| throw new Exception (Locale.GetText ("They are equal!")); |
| |
| if (argument_1 < argument_2) { |
| if (argument_1 * 3 > 4) |
| return true; |
| else |
| return false; |
| } |
| |
| // |
| // This sample helps keep your sanity while using 8-spaces for tabs |
| // |
| VeryLongIdentifierWhichTakesManyArguments ( |
| Argument1, |
| Argument2, Argument3, |
| NestedCallHere ( |
| MoreNested)); |
| } |
| |
| bool MyProperty { |
| get { return x; } |
| |
| set { x = value; } |
| } |
| |
| void AnotherMethod () |
| { |
| Logger log = new Logger (); |
| |
| log.foo.bar = 5; |
| log.narf.sweat = "cat"; |
| |
| if ((a + 5) != 4) { |
| } |
| |
| while (blah) { |
| if (a) |
| continue; |
| b++; |
| } |
| } |
| } |
| |
| object lockA; |
| object lockB; |
| |
| void Foo () |
| { |
| lock (lockA) { |
| lock (lockB) { |
| } |
| } |
| } |
| |
| void Bar () |
| { |
| lock (lockB) { |
| lock (lockA) { |
| } |
| } |
| } |
| |
| |
| // class library |
| class Blah { |
| Hashtable ht; |
| void Foo (int zzz, Entry blah) |
| { |
| lock (ht) { |
| ht.Add (zzz, blah); |
| } |
| } |
| |
| void Bar () |
| { |
| lock (ht) { |
| foreach (Entry e in ht) |
| EachBar (e); |
| } |
| } |
| |
| virtual void EachBar (Entry e) |
| { |
| } |
| } |
| |
| // User |
| class MyBlah { |
| byte[] box = new byte [6]; |
| |
| box [2] = 56; |
| |
| void DoStuff () |
| { |
| lock (this) { |
| int i = GetNumber (); |
| Entry e = GetEntry (); |
| |
| Foo (i, e); |
| } |
| } |
| |
| override void EachBar (Entry e) |
| { |
| lock (this) { |
| DoSomething (e); |
| } |
| } |
| } |
| |