MyExtensions.DisplayDefiningAssembly(myInt);
DataSet d = new DataSet();
MyExtensions.DisplayDefiningAssembly(d);
SoundPlayer sp = new SoundPlayer();
MyExtensions.DisplayDefiningAssembly(sp);
Console.WriteLine("Value of myInt: {0}", myInt);
Console.WriteLine("Reversed digits of myInt: {0}",
MyExtensions.ReverseDigits(myInt));
TesterUtilClass.Foo(myInt);
TesterUtilClass.Foo(myInt, "Ints that Foo? Who would have thought it!");
Console.ReadLine();
}
Given that calling an extension method from an object (thereby making it seem that the
method is in fact an instance-level method) is just some smoke-and-mirrors effect provided by
the compiler, you are always free to call extension methods as normal static methods using the
expected C# syntax (as just shown).
C H A P T E R 1 3
■
C # 2 0 0 8 L A N G U A G E F E AT U R E S
427
8849CH13.qxd 10/2/07 12:42 PM Page 427
Do'stlaringiz bilan baham: |