Если вы рассматриваете свойства как методы получения и установки, я не верю, что это нарушит инкапсуляцию. Но вы должны заметить, что вы не использовали свойство, вы использовали переменную экземпляра. На самом деле, я не верю, что это будет работать, как ваш пример. Проверьте это:
class MyClass {
private string aString;
public string AString {
get { return aString; }
set {aString = value; }
}
}
MyClass test = new MyClass {
AString = "test"
};
В этом случае вы получаете доступ к приватному полю через его метод доступа. Это похоже на использование конструктора без параметров и установку значения позже.