| 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); |
| } |
| } |
| } |
| |