//Without C# 3.0 Method Extension
if (IsOdd(7))
;
//With C# 3.0 Method Extension
if (7.IsOdd())
;
Here the I've added the IsOdd method onto an integer type. I think the lower example is a lot easier to read than the upper.
Adding an extended method is as simple as adding 'this' keyword on the first parameter on a static method inside a static class, like this:
public static class IntExtender
{
///
/// Checks if number is odd or even.
///
public static bool IsOdd(this int n)
{
if ((n % 2) > 0)
return true;
else
return false;
}
}
Method Extensions requires a reference to System.Data.Core assembly in your project.
The Intellisense looks like this:
By adding extensions in Cosmos we can now directly convert numbers to Hex and Binary like this:
foreach (byte b in bytes)
{
Console.Write(b.ToBinary());
Console.Write(b.ToHex());
}
No comments:
Post a Comment