Has the C# language team ever considered or would they consider adding a way to use custom logic with automatically implemented properties? As an example, I often find myself creating private fields that I don't particularly care about (and which I don't actually want to be accessible at all) just so I can implement a lock in a property or add some other code (e.g. updating another property when a condition is met) that I don't think merits a method. It would be really nice to be able to do away with those private fields and all of the errors they can introduce and just use a field that would be automatically generated by the compiler instead. Something along the lines of this:

// In this example, the hypothetical contextual keywords
// autoget and autoset would allow the token 'field' to 
// become a contextual keyword. The keyword 'field' would
// give access to a backing field which would be automatically
// generated by the compiler for the property.

private static readonly object _amountLock = new object();

public static double Amount
{
    autoget
    {
        lock (_amountLock)
        {
            return field;
        }
    }
    autoset
    {
        lock (_amountLock)
        {
            field = value;
        }
    }
}

-Mike