In C# 3 you can create an extension method like this:

public static class Extensions {
    public static string ToCamelCase(this string s) {
        // perform action
    }
}


Well what about properties? They could act as an indexer would, by using brackets around parameters:

public static class Extensions {
    public static object Cell[this DataTable t, int row, int column] {
        get { return t.Rows[row][column]; }
       
set { t.Rows[row][column] = value; }
    }
}
// ...
// usage
dataTable.Cell[0, 2] = "Hello World";

That example is simple, but I think it could be a powerful concept. Take, for example, Extended Properties in WPF, which can't be added to the class. Extension Properties would allow a simpler syntax. There are also areas in the .NET Framework where a Property would be better suited but a "GetXXX(type param)" method was used because Parameterized Properties don't exist.

I dunno, it could end up cluttering the language. What do you think?