Take the following property:
public string Foo
{
get;
private set;
}
Using reflection, I can still set the value of this property from outside the owning class. Is there a way to prevent this? Removing the set accessor is not an option as it must be WCF friendly.