определяет класс, который реализует интерфейс, потому что этот класс не реализует недавно введенное свойство.
оложим, у нас естьclass X
в версии 1 сборкиA.dll
:
class X {
SomeType Property { set; get; }
}
а потом в версии 2 сборкиA.dll
:
class X {
SomeType Property { set; get; }
SomeType OtherProperty { set; get; }
}
Теперь предположим, что у нас есть вторая сборкаB.dll
что загружаетA.dll
и использует X. Будет ли добавление свойстваOtherProperty
сломать ABI? БудетB.dll
не использоватьA.dll
/X
? Если нет, будет ли порядок объявлений иметь какое-либо значение? Если свойства были виртуальными, имело ли это какое-то значение?
Наверное, я действительно спрашиваю: каковы общие правила ABI? Я знаю, что менять интерфейсы после их публикации - это плохо, но я действительно хотел бы иметь возможностьДобавлять свойства в некоторых случаях, без добавления подклассов.