In both Ruby and PHP (and I guess other languages as well) there are some utility methods that are called whenever a property is set. ( *instance_variable_set*
Yes, of course...
In your example you are using automatic properties, without a backing field.... You just need to create a backing field for your property, and then you can do what you want in the setter and getter.
example:
private string firstName;
public string FirstName
{
get { return firstName; }
set { doMethod(); firstName = value;}
}